220 likes | 472 Views
Chapter 1 Introduction Contents 1.1 Introduction 1.2 Layering 1.3 TCP/IP Layering 1.4 Internet Address 1.5 The Domain Name System 1.6 Encapsulation 1.7 De-multiplexing 1.8 Client-Server Model 1.9 Port Numbers 1.10 Standardization Process 1.11 RFCs 1.12 Standard, Simple Service
E N D
Chapter 1 Introduction
Contents 1.1 Introduction 1.2 Layering 1.3 TCP/IP Layering 1.4 Internet Address 1.5 The Domain Name System 1.6 Encapsulation 1.7 De-multiplexing 1.8 Client-Server Model 1.9 Port Numbers 1.10 Standardization Process 1.11 RFCs 1.12 Standard, Simple Service 1.13 The Internet 1.14 Implementations 1.15 API 1.16 Test Network 1.17 Summary
1.1 Introduction • TCP/IP protocol suite allows computers to communicate with each other • All sizes • Different vendors • Different OS • Open system • Protocol suites and implementations are publicly available at little or no charge • Forms the basis for Internet
1.2 Layring (1) • Application layer • Handles the details of the particular application • Transport layer • Provides a flow of data between two hosts • Network layer • Handles the movement of packets around the network • Link layer • Network interface
1.2 Layring (2) Handles application details User Process FTP Protocol FTP Client FTP server Application TCP Protocol Transport TCP TCP Handles communication details kernel IP Protocol IP Network IP Ethernet Protocol Ethernet Driver Link Ethernet Driver Ethernet
FTP 서버 FTP Client FTP protocol TCP protocol TCP TCP Router IP protocol IP protocol IP IP IP Ethenet Driver Ethernet protocol Token-Ring protocol Token-Ring Driver Token-Ring Driver Ethernet Driver Ethernet Token-Ring 1.2 Layring (3)
User Process User Process User Process User Process Application Transport TCP UDP Network ICMP IP IGMP Hardware ARP RARP Link Interface Media 1.3 TCP/IP Layering
1.4 Internet Addresses (1) • 32-bit dotted-decimal • A unique IP address per interface • A host/router may have multiple IP addresses • Five classes • A: 0.0.0.0 to 127.255.255.255 • B: 128.0.0.0 to 191.255.255.255 • C: 192.0.0.0 to 223.255.255.255 • D: 224.0.0.0 to 239.255.255.255 • E: 240.0.0.0 to 127.255.255.255
7 bit 24 bit A class 1 netid hostid 14 bit 16 bit B netid hostid class 1 0 21 bit 8 bit C class netid hostid 0 1 1 28 bit class D Multicast group ID 1 1 1 0 27 bit E class ( ) 1 1 1 1 0 reserved 1.4 Internet Addresses (2)
1.5 Domain Name System • Name of a host: human readable addresses • Distributed database that provides the mapping between IP addresses and hostnames • Functions are provided to • Lookup IP addresses to a given host name • Reverse lookup host names for a given IP address
1.6 Encapsulation User data application Appl header User data TCP TCP header Application data TCP segment IP IP header TCP header Application data IP datagram Ethernet driver Ethernet trailer Ethernet header Application data IP header TCP header 14 20 20 4 Ethernet Ethernet Frame 46 to 1500 bytes
1.7 Demultiplexing Application Application Application Application Demultiplexing based on destination port number in TCP or UDP header TCP UDP ICMP IGMP Demultiplexing based on Protocol value in IP header IP ARP RARP Demultiplexing based on frame type in Ethernet header Ethenet Driver Incoming frame
1.8 Client-Server Model • Iterative server • Wait for a client request to arrive • Process the client request • Send the response back to the client that sent the request • Go back to the first step • Concurrent server • Wait for a client request to arrive • Start a new sever to handle this client’s request • When complete, this new server terminates • Go back to the first step
1.9 Port Numbers • 16-bit numbers for TCP or UDP to identify applications • Well-known port number • FTP: TCP 21 • Telnet: TCP 23 • SMTP: TCP 25 • DNS: UDP 53 • TFTP: UDP 69
1.10 Standardization Process • ISOC (Internet Society) • IAB (Internet Architecture Board) • IETF (Internet Engineering Task Force) • Develops the specifications that become internet standards • Divided into several Working Groups • IRTF (Internet Research Task Force)
1.11 RFCs • All official standards are published as a Request for Comment. • All the RFCs are available at no charge • http://www.ietf.org • Important RFCs • Assigned numbers (RFC 1700) • Internet Official Protocol Standards (RFC 1600) • Host Requirements (RFC 1122/1123) • Router Requirements (RFC 1812)
1.12 Standard, Simple Service Echo 7 7 862 서버는 클라이언트가 보낸 모든 데이터를 되 돌려 보낸다. Discard 9 9 863 서버는 클라이언트가 보낸 모든 데이터를 되 돌려 무시한다 Daytime 13 13 867 서버는 사람이 읽을 수 있는 형식으로 시간 과 날짜를 되돌려 보낸다. Chargen 19 19 864 TCP 서버는 연결이 클라이언트에 의해 끊어 질 때까지 연속된 문자열을 송신한다. UDP 서 버는 클라이언트가 데이터 그램을 보낼 때마다 임의의 개수의 문자를 포함한 데이터 그램을 보낸다. Time 37 37 868 서버는 2진 숫자로 시간을 되돌려 보낸다. 이 숫자는 UTC(협정 표준시)로 1900년 1월 1일 0 시부터 초 단위로 계산된 시간을 나타낸다.
1.13 The Internet • internet • Multiple networks connected together using a common protocol suite • “Internet” • Collection of hosts around the world that can communicate with each other using TCP/IP
4.2 BSD (1983) 최초에 일반 이용이 가능한 Release 4.3 BSD (1986) TCP 처리 능력을 개선 4.3 BSD Tahoe (1988) 늦은 시작 혼잡회피 고속 재전송 BSD Networking Software release 1.0(1989): Net/1 4.3 BSD Reno(1990) 고속 회복 헤더 예측, TCP SLIP 헤더 압축 BSD Software Networking 테이블 변경 Routing 2.0(1991): Net/2 Release 4.4 BSD (1993) Multicasting “ long fat pipe” 4.4 BSD- Lite (1994) Net/3 라고도 함 1.14 Implementation
1.15 API • Berkely sockets vs. TLI (Transport Layer Interface)
Internet AIX 3.2.2 Solaris 2.2 SunOS 4.1.1 .104.1 aix Cisco solaris gemini gateway Router .1.4 .1.92 .1.11 .1.32 .1.183 Ethernet Telebit netb NetBlazer modem ) dial-up SLIP ( modem BSD/386 1.0 BSD/386 1.0 SunOS 4.1.3 SVR4 .1.29 SLIP slip Bsdi sun svr4 .13.65 .13.34 .13.33 svr4.tuc.noao.edu Ethernet 1.16 Test Network
1.17 Summary • Four layers in the TCP/IP protocol suite • Application layer • Transport layer: end-to-end service • Network layer: hop-by-hop service • Link layer • Internet is a collection of networks using TCP/IP • A router connects the networks at IP layer • Internet each interface is identified by a unique IP address • DNS provides a dynamic mapping between IP addresses and host names • Port numbers are used to identifying applications