Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).

Similar presentations


Presentation on theme: "TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주)."— Presentation transcript:

1 TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주)

2 TCP/IP 프로토콜의 역사 알파넷(ARPAnet : 미 국방부 첨단연구계획위원회 통신망)
1980년대에 들어서며 알파넷 사용자들의 폭주로 인하여 알파넷을 미 국방성만이 사용할 수 있는 밀넷(MILnet)과 일반 사용자들의 정보교환을 위한 알파넷으로 구분 밀넷과 알파넷이 통합된 통신망을 달파넷(DARPnet)이라고 불렸으며, 이 통신망이 후에 인터넷의 전신이 됨

3 TCP/IP 네트워크 구조

4 네트워크 인터페이스 계층 이더넷(Ethernet) 프로토콜)
Preamble : 동기화에 사용되는 64비트 필드로서 0과 1로 구성되고, 네트워크 장치가 패킷을 받아서 이더넷 프레임의 시작 부분을 결정하고 동기화할 때 사용 목적지 주소(Destination Address): 목적지 시스템의 이더넷 주소 출발지 주소(Source Address):패킷을 전송하는 호스트의 이더넷 주소 데이터 형식(Type):이더넷 프레임 상단의 데이터의 종류 데이터 : 상위 레이어의 프로토콜에 의해 사용되는 정보가 포함되어 있는 필드 CRC : 에러 검출을 위해 사용되는 필드로, 수신측이나 송신측 호스트 시스템에 의해 프레임에 포함되는 내용을 계산한 값. 값이 다르면 해당 프레임은 무시됨. [그림 4-2] 이더넷 헤더

5 인터넷 계층 IP 주소 체계 IP(Internet protocol)
가장 대표적인 네트워크 계층의 프로토콜로, 하위 계층의 서비스를 이용하여 두 노드간의 데이터 전송 경로를 확립해 주는 역할을 한다. IP 주소 체계 [그림 4-5] IP 주소 클래스 2

6 IP 헤더(1/2)

7 IP 헤더(2/2) 버전 : IP의 버전 정보, ex) 0x4는 IPv4를 의미함
전체 길이 : 헤더를 포함한 데이터그램의 전체 길이 식별자 : 단편화와 관련된 값, 단편화될 때 이 값을 복사하며, 단편화된 데이터그램이 생성될 때마다 1씩 증가 플래그 : 단편화되었는지와 단편화된 조각이 몇번째 조각인지 알려줌 단편 오프셋 : 기존 데이터그램 내에서 단편의 상대적 위치를 의미 프로토콜 : IP 계층의 서비스를 사용하는 상위 계층 프로토콜을 정의, 값이 1이면 ICMP, 6이면 TCP, 17이면 UDP를 나타냄 헤더 체크섬 : 오류 검사에 사용하며, 송신측에서 체크섬을 계산하여 전송함 출발지 주소 : 송신측의 IP 주소 목적지 주소 : 수신측의 IP 주소 옵션 : IP 헤더의 가변 부분으로 최대 길이는 40바이트

8 ARP 기능 IP에 해당하는 호스트의 하드웨어 주소를 찾아줌 [그림 4-7] ARP 헤더

9 ARP 헤더 하드웨어 타입(Hardware type) : 하드웨어 주소, 즉 MAC 주소의 타입 을 정의
프로토콜 타입: 맵핑될 프로토콜 주소의 타입을 정의 ex) 0x0800이면 IPv4와 맵핑됨 하드웨어 주소 크기 : 하드웨어 주소, 즉 MAC 주소의 바이트 크기 ex) 이더넷은 6 프로토콜 주소 크기: 맵핑될 프로토콜 주소의 바이트 크기 작동 코드 : 1 = ARP Request, 2 = ARP Reply, 3 = RARP request, 4 = RARP reply 출발지 이더넷/IP 주소 : 송신측 MAC/IP 주소 목적지 이더넷/IP 주소 : 수신측 MAC/IP 주소

10 RARP 데이터 링크 계층의 주소로부터 네트워크 계층의 주소를 얻어오는 프로토콜
디스크를 가지지 않은 호스트가 자신의 IP 주소를 서버로부터 얻어내려면 RARP라는 TCP/IP 인터넷 프로토콜을 사용해야 하며 일반적으로 자체의 디스크 기억 장치가 없는 워크스테이션이나 지능형 터미널에 의해 이용된다. RARP 패킷은 ARP 패킷과 동일한 형식을 갖는다.

11 ICMP 기능 ICMP 헤더 ICMP 프로토콜은 송신측의 상황과 목적지 노드의 상황을 진단한다.
코드 : 각 타입에 대한 코드 값 체크섬 : ICMP 메시지 자체(헤더 + 데이터)에 대한 오류를 검사하는 필드 나머지 헤더 : 타입과 코드에 따라 달라지는 부분 [그림 4-11] ICMP 패킷 헤더

12 ICMP 메시지 1 오류 진단용 메시지 라우터가 데이터그램을 라우팅할 수 없을 때 호스트가 데이터그램을 전달할 수 없을 때
Destination Unreachable Source Quench Redirection Time Exceeded Parameter Problems Error Reporting 라우터가 데이터그램을 라우팅할 수 없을 때 호스트가 데이터그램을 전달할 수 없을 때 혼잡으로 인해 데이터그램의 폐기를 알림 라우터가 최적 경로를 사용하지 않는 호스트 발견 시 대체 경로를 알리기 위해 사용 IP 헤더의 TTL 필드 값 만료를 나타냄 데이터그램의 헤더 에러 문제 발생 시 사용

13 ICMP 메시지 2 질의용 메시지 Echo IP 호스트의 진단에 사용 request and reply
필요한 왕복시간(Round Trip Time)을 결정 호스트가 라우터에게 서브넷 마스크 요청 다른 네트워크의 호스트에게 데이터 전송 시 자신의 네트워크에 연결된 라우터 주소 요청 Query Echo request and reply Timestamp Address mask Router solicitation and advertisement

14 TCP(Transmission Control Protocol) 기능
IP는 이때 데이터 패킷을 한 장소에서 다른 장소로 옮기는 역할을 한다면 TCP는 데이터의 흐름을 관리하고, 데이터가 정확한지 확인하는 역할을 한다. 높은 신뢰성 가상회선 연결 방식 연결의 설정과 해제 데이터 체크섬 시간 초과와 재전송 데이터 흐름 제어

15 TCP 연결 설정 (3-Way 핸드쉐이크) 호스트 A는 호스트 B에 연결을 설정하고 싶다는 요청과 함께 램덤하게 생성된 시퀀스 넘버 1000으로 SYN 패킷을 호스트 B에게 보낸다. 호스트 B는 역시 랜덤하게 생성한 시퀀스 넘버 4000으로 SYN 패킷에 ACK 번호 1001로 설정하여 호스트 A에게 보낸다. 이때의 ACK 번호는 대부분 A에게서 받은 SYN+1의 값을 가진다. 호스트 A는 호스트 B에게서 받은 시퀀스 넘버를 사용하여 ACK 번호 (SYN+1)을 호스트 B에게 보낸다. [그림 4-12] 3-웨이 핸드셰이킹

16 TCP 연결 종료 (4-Way 핸드쉐이크) 한쪽의 호스트에서 자신이 가지지 않은 포트의 연결 요청을 받은 경우 연결 최소를 의미하는 RST 세그먼트를 전송한다 . 한쪽 호스트에서 시스템의 이상으로 연결을 종료하고 싶을 때 RST 세그먼트를 보내 연결을 종료한다. 한쪽 호스트에서 상대 호스트가 장시간 동안 어떤 동작도 하지 않을 때 RST 세그먼트를 보내 연결을 재설정한다 [그림 4-13] 4-웨이 핸드셰이킹(4-way handshaking)

17 TCP 헤더

18 TCP 헤더(계속) 출발지 목적지 포트 번호 : 호스트에 있는 응용 프로그램의 포트 번호
순서 번호 : 전달되는 각 바이트에 대한 시퀀스 넘버로 1씩 증가 확인 번호 : 수신측에서 수신하고자 하는 바이트의 번호 헤더 길이 : TCP 헤더의 길이 예약 : 아직 사용하지 않는 필드로 값은 0 플래그 URG 1이면 마지막 필드인 긴급 포인터의 내용 실행 ACK 1이면 확인 번호 필드가 유효 PSH 1이면 송신자에게 높은 처리율 요구 RST 1이면 TCP 연결을 다시 설정 SYN 1이면 연결 요청과 설정, 확인 응답에서 순서 번호 동기화 FIN 1이면 TCP 연결 종료

19 UDP(User Datagram Protocol)
UDP는 TCP와는 달리 비연결 프로토콜로서 상대방이 보낸 응답을 확인하지 않으며, 송신 시스템이 전송하는 데이터에 대한 목적지 시스템의 확인 절차가 생략되므로 네트워크에 부하를 걸지 않는 장점이 있다. 데이터 자체의 신뢰성이 없으므로 수신된 데이터의 무결성을 보장받지 못한다.  UDP의 특징 비연결 지향형 네트워크 부하 감소 비신뢰성 전송된 데이터의 일부가 소실됨

20 UDP 헤더 출발지/목적지 포트 번호 : TCP와 동일한 포트 번호를 사용하며, 응용 프로그램 계층 서비스에서 할당된 포트 번호 역시 TCP와 동일하다. 길이 : 헤더와 데이터를 합한 사용자 데이터그램의 전체 길이로 0~65,535의 범위를 갖는다. 체크섬 : 데이터그램의 헤더와 데이터 전체의 오류 검사를 위해 사용 한다. [그림 4-15] UDP 헤더

21 FTP 연결 설정 FTP( File Transfer Protocol) 기능 TCP 연결을 이용한 파일 전송 프로토콜
[그림 4-16] 컨트롤 연결 설정

22 FTP 데이터 연결 과정 클라이언트에서 임의의 포트를 열고 수동적 오픈 상태를 설정한다.
클라이언트에서 PORT 명령을 사용하여 열고 있는 포트 번호를 서버측에 전달한다. 서버측에서는 클라이언트가 보낸 임의의 포트를 받고 20번 포트를 능동적 포트 오픈 상태로 설정한다.

23 SMTP(Simple Mail Transfer Protocol)
[그림 4-19] 메일 시스템 구성 요소

24 [그림 4-20] SMTP 프로세스 모델

25 SMTP 메일 트랜잭션

26 Telnet 원격 시스템에 표준 인터페이스를 제공하는 네트워크 가상 단말기(NVT, Network Virtual Terminal) 기능을 제공한다. 클라이언트와 서버가 통신 옵션을 교환할 수 있는 메커니즘을 제공한다. 예들 들어, 7비트 ASCII 코드로 데이터를 주고 받을 수도 있고 8비트 코드로 데이터를 주고 받을 수 있다. Telnet 프로토콜은 양단간의 통신이 대칭적으로 수행되며, 클라이언트측에서 항상 사용자 단말기가 사용되는 대신 임의의 프로그램이 클라이언트로 동작할 수 있다.

27 Telnet의 동작 프로세스 로컬 운영체제를 통해 사용자 단말기에서 클라이언트로 입력된 데이터들은 TCP/IP 네트워크를 통해 서버 컴퓨터로 전송된다. 데이터는 원격 운영체제에서부터 서버로 전달되며, 서버로부터 의사 단말기 엔트리 포인트를 통해 다시 운영체제로 넘겨진다. 운영체제는 클라이언트로 데이터를 전송하며, 수행되는 동안 출력은 상기 경로와 동일한 경로를 통해 전송된다.

28 TCP/IP 클라이언트와 서버 구조

29 Thank you


Download ppt "TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주)."

Similar presentations


Ads by Google