TCP Segment 구조(2)

Download Report

Transcript TCP Segment 구조(2)

인터넷의 네트워크 계층 – 주요 기능

호스트와 라우터, 네트워크의 확인 => IP





라우팅




IP 주소, 주소클래스, 특별한주소, 서브넷(마스크), CIDR, …
IP 팩켓(데이터그램) 포맷
팩켓핸들링 규약
...
직접전달(Direct Delivery), 간접전달
라우팅표(Routing Tables) => 경로설정
라우팅 프로토콜: RIP, OSPF, BGP, ...
네트워크 계층 오류(Errors)



오류상황 보고 => ICMP
Ping Test 메시지 처리
....
(TCP Segment or
UDP Segment)
IP 에서 남은 과제들

IP Packet 라우팅 프로토콜 => Dynamic Routing

Intra-AS Routing Protocols (AS =Autonomous System)



Inter-AS Routing Protocols




BGP(Border Gateway Protocol)
IP 팩켓 라우팅의 에러 처리, 진단, 비정상 팩켓 처리 등


RIP(Routing Information Protocol)
OSPF(Open Shortest Path First)
ICMP(Internet Control Message Protocol)
NAT (Network Address Translation)
IPv6
…..
네트워크 계층과 응용계층
네트워크계층(IP)
응용계층(우ㅐㅂ브라우저
의 관점))
통신의 시작점
또는 끝점
(IP 주소)
호스트 또는 라우터
(네트워크 인터페이스)
응용프로그램(웹브라우저)
통신의 대상
데이터그램(팩켓)
웹페이지
이메일(메시지)
…
통신의 주제
(개별)팩켓의 전달 경로
ㅗ하물트럭기사
정확하고 완전한 내용
(Contents)
통신서비스의
특성
최선을 다한 노력(Besteffort Service)
완전하고 신뢰할 수 있는
서비스
프로토콜/서비
스
IP + (ICMP, ARP, 라우팅
프로토콜)
수많은 종류의 응용계층 프
로토콜과 서비스들
수송계층(Transport Layer)




응용계층과 네트워크 계층 사이
응용계층 = 이메일, 웹, 파일전송,…
네트워크 계층 = 호스트(End)와 호스트(End)간의 전송 경로(Route) =>
데이터그램 팩켓의 호스트간 전달(IP)
그러나 IP의 서비스는 불완전한 서비스(신뢰할 수 없는 (Unreliable) 서
비스) => Best-effort Service






데이터그램의 도착순서(Sequence)
유실된 데이터그램(Lost Datagram)
Corrupted Datagram
…
그러나 응용계층은 신뢰할 수있는, 바로 사용할 수 있는 데이터 전달 서
비스를 요구
=> 수송계층 서비스 => 인터넷 수송계층 서비스 =>
User Datagram Protocol(UDP) => IP 서비스 거의 그대로 응용서비스
=> Connectionless service
 Transport Control Protocol(TCP) => (IP 서비스) => (자신의 서비스를 통
해서 응용이 요구하는 수준에 알맞게 변환 )
=> Coonection-oriented service

TCP(Transmission Control Protocol)

Connection-oriented(연결지향형) Service



End-to-End 서비스




(동시에) 양방향 데이터전달(흐름)을 가능하게
따라서 TCP 서비스는 항상 점-대-점(Point-to-point) 서비스만 가능 (There is
no words like “broadcast” or “multicast”)
Connection Establishment(연결 설정)


End = (Application) Process on a Host
Ex) Web 서비스 = Web Server (Process) on a Server Host<=> Web Browser
(Process) on another Host
Full-duplex Service


vs. Connectionless Service
전화통화 연결과 같은 서비스
Three-way Handshake(3단계)
Connection Close(연결해제)

Four-way Handshake(4단계)
인터넷통신 데이터구조(1)
인터넷통신 데이터구조(2)
PDU
HTTP Request-Reply
HTTP Request Message
150bytes
HTTP Reply Message
TCP Socket 생성-할당
여러분의 호스트
프로그램
TCP Socket
TCP Socket
TCP Socket = {Source Host IP 주소, SourcePort #}
TCP Socket
TCP Socket = {Source Host IP 주소, SourcePort #}
A TCP Connection(연결) =
{Socket A ======== Socket B}
Client TCP Socket 생성-할당
초기소켓과 연결소켓
Initial Socket
Connection Socket
TCP Segment 생성
TCP Maximum Segment Size(MSS)
TCP Maximum Segment Size(MSS)
TCP Segment 구조
TCP Segment
TCP Segment 구조(1)
TCP Segment 구조(2)
TCP연결에서
Telnet Connection Timeline(1)
Ack 1415531522
Telnet Communication Timeline(2)
TCP Retransmission Timer





TCP의 Socket 생성시 재전송(Retransmission) 타이머 설정
재전송 타이머는 보내는 매 세그먼트마다 타임 아웃을 설정
해당 세그먼트가 지정된 타임 아웃시간까지 ACK 되지 않으면
그 세그먼트를 재전송
타임 아웃의 길이를 얼마로 할 것인가?
몇 번까지 재전송을 허용할 것인가?
Delayed ACK and Cumulative ACK


Delayed ACKing => 세그먼트를 받는즉시 ACKing 하지않고, 조금 기
다려 (200ms ~ 500ms) 보내줄 데이터와 함께(piggyback) ACKing 하
고자 한다.
Cumulative ACK => 모든 세그먼트에 대해 항상 받는 즉시 액킹을 하
는 것이 아니라 몇 개의 세그먼트를 받고난후 액킹을 한다(주로 벌크
데이터 수신시)