350 likes | 523 Views
인터넷의 네트워크 계층 – 주요 기능. 호스트와 라우터 , 네트워크의 확인 => IP IP 주소 , 주소클래스 , 특별한주소 , 서브넷 ( 마스크 ), CIDR, … IP 팩켓 ( 데이터그램 ) 포맷 팩켓핸들링 규약 ... 라우팅 직접전달 (Direct Delivery), 간접전달 라우팅표 (Routing Tables) => 경로설정 라우팅 프로토콜 : RIP, OSPF, BGP, ... 네트워크 계층 오류 (Errors) 오류상황 보고 => ICMP Ping Test 메시지 처리
E N D
인터넷의 네트워크 계층 –주요 기능 • 호스트와 라우터, 네트워크의 확인 => 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) • RIP(Routing Information Protocol) • OSPF(Open Shortest Path First) • Inter-AS Routing Protocols • BGP(Border Gateway Protocol) • IP 팩켓 라우팅의 에러 처리, 진단, 비정상 팩켓 처리 등 • ICMP(Internet Control Message Protocol) • NAT (Network Address Translation) • IPv6 • …..
수송계층(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 • vs. Connectionless Service • 전화통화 연결과 같은 서비스 • End-to-End 서비스 • End = (Application) Process on a Host • Ex) Web 서비스 = Web Server (Process) on a Server Host<=> Web Browser (Process) on another Host • Full-duplex Service • (동시에) 양방향 데이터전달(흐름)을 가능하게 • 따라서 TCP 서비스는 항상 점-대-점(Point-to-point) 서비스만 가능 (There is no words like “broadcast” or “multicast”) • Connection Establishment(연결 설정) • Three-way Handshake(3단계) • Connection Close(연결해제) • Four-way Handshake(4단계)
인터넷통신 데이터구조(2) PDU
HTTP Request Message 150bytes
TCP Socket 생성-할당 여러분의 호스트 프로그램 TCP Socket
TCP SocketTCP Socket = {Source Host IP 주소, SourcePort #} A TCP Connection(연결) = {Socket A ======== Socket B}
TCP Segment 구조(2) TCP연결에서
Telnet Connection Timeline(1) Ack 1415531522
TCP Retransmission Timer • TCP의 Socket 생성시 재전송(Retransmission) 타이머 설정 • 재전송 타이머는 보내는 매 세그먼트마다 타임 아웃을 설정 • 해당 세그먼트가 지정된 타임 아웃시간까지 ACK 되지 않으면 그 세그먼트를 재전송 • 타임 아웃의 길이를 얼마로 할 것인가? • 몇 번까지 재전송을 허용할 것인가?
Delayed ACK and Cumulative ACK • Delayed ACKing => 세그먼트를 받는즉시 ACKing 하지않고, 조금 기다려 (200ms ~ 500ms) 보내줄 데이터와 함께(piggyback) ACKing 하고자 한다. • Cumulative ACK => 모든 세그먼트에 대해 항상 받는 즉시 액킹을 하는 것이 아니라 몇 개의 세그먼트를 받고난후 액킹을 한다(주로 벌크 데이터 수신시)