본문 바로가기
코스웨어/14년 스마트컨트롤러

2014.06.11 출석3번 김대희 필기

by 알 수 없는 사용자 2014. 6. 11.
728x90
반응형





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방식으로 한다.


위의 숫자 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;





728x90