-
20140611 (Network)부산IT학원/스마트컨트롤러 2014. 6. 11. 17:30
78일차
---------------
Network
---------------
IPv4
4byte(32비트)체제로 운용된다.
다시말해 4바이트는 0 ~ 약40억 정도의 가지수를 갖고있다.
전세계 인구는 현재
인구수에비해 주소보급이 모자람
ip공유기를 이용하기 시작
IPv6
IPv6이 시행중에 있음
곧있으면 상용화 예정
16byte(128비트)체제로 운용됨
이것을 시도함으로써 아이피의 고갈을 피할 수 있음
도메인 - 문자열로된 컴퓨터 이름을 말한다.
예를들어 google.com 이런걸 우리는 주소라고 하지만
엄밀히 하자면 DNS name이다.
DNS(Domain Name Service)
실제로 아래 그림과 같이 DOS창에서 아래와 같은 커맨드를 입력해본다
필자는 www.naver.com 을 입력했다
그랬더니 아이피 주소가 나오는데 저걸 복사해서
인터넷 브라우저의 주소차에 갖다 붙혀보면 그에 해당하는 페이지가 뜬다.
네이버의 실제 주소는 위와 같은 IP주소이다.
우리가 알고있는 도메인은 진짜주소가 아니며
우리가 www.naver.com 를 주소창에 입력할 때 마다
DNS server가 125.209.222.142로 바꾸어 주었기 때문에 우리는 네이버와 같은 페이지에 접속이 가능한 것이다.
TCP방식
TCP방식의 기본적인 방식은 다음 그림과 같이
three hand shake방식으로 한다.
Apple|iPhone 4S|Normal program|Spot|1/24sec|F/2.4|4.3mm|ISO-50|Flash did not fire, auto mode|2014:06:11 16:13:12
위의 숫자 1~3까지의 순서를 무조건 거치는 방식이 TCP방식이다
3번까지의 순서를 마치면 비로소 데이터는 전송되며
프로세스B가 A에게 데이터를 받을 준비가 되지 않았을때에는
A는 기다렸다가 나중에 다시보낸다.
그로므로 이 방식은 속도가 느리지만 정확하다
그래서 주로 파일을 다룰때 사용된다.
UDP방식
UDP방식은 TCP와 달리 데이터의 전송의 흐름제어가 안된다.
다시말해 프로세스 A가 B에게 데이터를 전송하는 것이 '일방적'이며
데이터가 혹 누락된다면 데이터를 다시 보낼일은 발생하지 않는다는 말이다.
그래서 전송속도가 빠른 대신 정확하지 않다
사운드 등을 주고받을때 사용되는 방식이다.
socket()
헤더파일
#include <sys/types.h>
#include <sys/socket.h>
원형
int socket(int domain, int type, int protocol);
1 #include <sys/types.h>
2 #include <sys/socket.h>
3
4 int main(void)
5 {
6 int iSock;
7
8 // IPv4를 사용하고 TCP방식 사용하는 소켓을 생성
9 iSock = socket(AF_INET,SOCK_STREAM,0);
10
11 if(0 < iSock) // 에러발생시
12 {
13 printf("\n소켓을 생성 할 수 없음\n\n");
14 return -1;
15 }
16
17 printf("\niSock = [%d] 입니다.\n\n",iSock);
18
19 close(iSock); // 소켓을 닫을때 close()사용
20
21 return 0;- linux
--- socket.h 위치
/usr/inlcude/linux/socket.h
/usr/include/asm/socket.h
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140613 (TCP/IP) (0) 2014.06.13 20140612 (초음파 모듈 Ultra Sonic) (0) 2014.06.12 20140610 (TWI로 외부 EEPROM과 통신) (0) 2014.06.10 20140609 (TWI) (0) 2014.06.10 20140605 (TWI) (1) 2014.06.05