컴퓨터네트워크 2014.05.28 장문정 (cathmjang@gmail.com) 홍익대학교게임소프트웨어전공
MAC 주소 IP 주소 네트워크계층주소 데이터그램을목적지 IP 서브넷으로전달하는데사용 MAC (Media Access Control) 주소 LAN 주소, 물리주소, 이더넷주소 프레임을한인터페이스에서물리적으로연결된다른인터페이스로전달하는데사용 48 비트 MAC 주소 ( 대부분 LAN) NIC ROM 에저장 일부는소프트웨어적으로세팅 예 ) 1A-2F-BB-76-09-AD 2
LAN 주소 LAN 상의각어댑터는고유의 LAN 주소를가짐 1A-2F-BB-76-09-AD 71-65-F7-2B-08-53 LAN (wired or wireless) 58-23-D7-FA-20-B0 adapter 0C-C4-11-6F-E3-98 3
LAN 주소 MAC 주소 할당은 IEEE 가관리 제조사는 MAC 주소영역을구매 어댑터마다고유의주소할당 MAC 주소의첫 24 비트는제조사코드, 나머지 24 비트는제조사에서부여 평면주소구조 어댑터의위치에관계없이고정 IP 계층주소 주소가노드가부착된 IP 서브넷에종속 이동할수없음 4
ARP Address Resolution Protocol IP 주소와 MAC 주소사이의변환기능수행 ARP 필요성 송신호스트 MAC 주소 : LAN 카드로부터획득수신호스트 MAC 주소 : ARP 프로토콜이제공 5
ARP LAN 상의각 IP 노드 ( 호스트, 라우터 ) 는 ARP 테이블을가짐 IP/MAC 주소매핑 < IP 주소 ; MAC 주소 ; TTL > 137.196.7.23 137.196.7.78 1A-2F-BB-76-09-AD 137.196.7.14 TTL (Time To Live): 테이블에서각매핑의엔트리가삭제되는시간 ( 보통 20 분 ) 71-65-F7-2B-08-53 LAN 58-23-D7-FA-20-B0 137.196.7.88 0C-C4-11-6F-E3-98 6
ARP 프로토콜 : 동일 LAN 노드 A가 B로데이터그램을전송 & A의 ARP 테이블에 B의 MAC 주소엔트리없음 1. A는 ARP 질의패킷 (query packet) 을브로드캐스트 질의패킷에는 B의 IP 주소포함목적지 MAC 주소 = FF-FF-FF-FF-FF-FF LAN 상모든호스트가 ARP 질의를수신 2. B 는 ARP 질의패킷을수신하고, 응답패킷 (response packet) 으로 A 에게응답 응답패킷에는 B의 MAC 주소포함 A의 MAC 주소로유니캐스트응답 3. A 는 B 의 IP/MAC 주소를시간종료시까지 ARP 테이블에저장 ARP는플러그앤플레이 (plug-and-play) 노드의 ARP 테이블은시스템관리자개입없이자동으로구축 7
ARP 프로토콜 : 다른 LAN 으로라우팅 A 의데이터그램을라우터 R 을거쳐 B 로전송 A 는 B 의 IP 주소를알고있다고가정 라우터 R 은두개의인터페이스 두개의 IP 주소와두개의 ARP 테이블을가짐 A 111.111.111.111 74-29-9C-E8-FF-55 R 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 8
ARP 프로토콜 : 다른 LAN 으로라우팅 1. A는출발지 A, 목적지 B의 IP 데이터그램을생성 2. A는 111.111.111.110으로부터 R의 MAC 주소를구하기위해 ARP 사용 3. A는 R의 MAC 주소가목적지가되는링크계층프레임을생성 IP Eth Phy MAC src: 74-29-9C-E8-FF-55 MAC dest: E6-E9-00-17-BB-4B IP src: 111.111.111.111 IP dest: 222.222.222.222 A 111.111.111.111 74-29-9C-E8-FF-55 R 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F
ARP 프로토콜 : 다른 LAN 으로라우팅 4. A의 NIC이프레임을송신 5. R의 NIC이프레임을수신 6. R은이더넷프레임에서 IP 데이터그램을추출하고, B의목적지주소조사 MAC src: 74-29-9C-E8-FF-55 MAC dest: IP E6-E9-00-17-BB-4B src: 111.111.111.111 IP src: 111.111.111.111 IP dest: 222.222.222.222 IP dest: 222.222.222.222 IP Eth Phy A 111.111.111.111 74-29-9C-E8-FF-55 111.111.111.112 CC-49-DE-D0-AB-7D IP Eth Phy R 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 222.222.222.221 88-B2-2F-54-1A-0F
ARP 프로토콜 : 다른 LAN 으로라우팅 7. R은 B의 MAC 주소를위해 ARP 사용 8. R은 A에서 B로가는데이터그램이포함되는프레임을생성하고, B로송신 A 111.111.111.111 74-29-9C-E8-FF-55 IP Et h Ph y R 222.222.222.220 1A-23-F9-CD-06-9B MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 11
ARP 프로토콜 : 다른 LAN 으로라우팅 A 111.111.111.111 74-29-9C-E8-FF-55 IP Et h Ph y R 222.222.222.220 1A-23-F9-CD-06-9B MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 12
ARP 프로토콜 : 다른 LAN 으로라우팅 MAC src: 1A-23-F9-CD-06-9B MAC dest: 49-BD-D2-C7-56-2A IP src: 111.111.111.111 IP dest: 222.222.222.222 IP Eth Phy A 111.111.111.111 74-29-9C-E8-FF-55 R 222.222.222.220 1A-23-F9-CD-06-9B B 222.222.222.222 49-BD-D2-C7-56-2A 111.111.111.112 CC-49-DE-D0-AB-7D 111.111.111.110 E6-E9-00-17-BB-4B 222.222.222.221 88-B2-2F-54-1A-0F 13
이더넷 (Ethernet) 오늘날가장많이사용되는 LAN 기술 속도 : 10Mbps ~ 10Gbps 이더넷프레임구조 (Ethernet Frame Structure) 송신어댑터는 IP 데이터그램을이더넷프레임으로캡슐화 이더넷 MTU(maximum transfer unit) 는 1500 바이트데이터필드의최소크기는 46 바이트 type preamble dest. address source address Data (payload) CRC 14
이더넷프레임구조 프리앰블 (preamble): 8 바이트 첫 7 바이트는 10101010, 마지막바이트는 10101011 주소 수신자는클록을송신자의클록에동기화 목적지, 출발지주소각각 6 바이트 어댑터의주소가목적지주소와같으면프레임수신하여데이터를네트워크계층프로토콜에전달 목적지주소가같지않으면프레임을버림타입 상위계층프로토콜을표시 대부분 IP이지만 Novell IPX, Apple Talk 등도가능 CRC 수신어댑터에서프레임오류검출 오류발생시프레임버림 15
CSMA Carrier Sense Multiple Access CS(Carrier Sense): 호스트는공유매체의사용가능여부를신호감지로확인 MA(Multiple Access): 다수호스트가하나의공유매체에연결됨 CSMA 개요 전송전에채널사용여부조사 ( 캐리어감지 ) 채널이쉬고있으면프레임전송 채널이사용중이면전송을연기 ( 백오프, back off) 충돌발생 채널의전파지연으로다른노드의전송을감지하지못하는경우발생 16
CSMA 충돌 에서노드 B 전송시작 채널전파지연으로시간 에서노드 D가노드 B의전송을감지하지못함 에서노드 D 전송시충돌발생 17
CSMA/CD 이더넷다중접속프로토콜 Carrier Sense Multiple Access/Collision Detec tion CD: 공유매체에서데이터충돌여부를확인충돌감지기능이필수적충돌감지후, 재전송기능으로오류복구공유매체의길이가길수록전송지연이증가하여충돌가능성이높아짐 18
CSMA/CD 알고리즘 1. 어댑터는네트워크계층으로부터데이터그램을받아서이더넷프레임을생성 2. 채널이유휴하면프레임전송을시작, 채널이바쁘면채널이유휴할때까지기다림 3. 어댑터가전체프레임을전송하는동안다른어댑터의전송신호가감지되지않았으면프레임전송완료 4. 전송중다른어댑터의전송신호가감지되면프레임전송을중단하고잼신호를전송 5. 중단후어댑터는지수적백오프단계진입 n번충돌후어댑터는 {0,1,2,,2 1} 중에서임의의 K 값을선택 n의최대값은 10 어댑터는 Kㆍ512 비트시간을기다렸다가단계로돌아감 19
CSMA/CD 알고리즘 잼신호 (jam signal) 다른어댑터에게충돌발생을알림 : 48 비트 비트시간 (bit time) 1 비트를전송하는데걸리는시간 10Mbps 이더넷에서는 0.1usec, K=1023 이면 50msec 지수적백오프 (exponential backoff) 예측된현재부하에적응하여재전송시도 과부하 : 랜덤대기시간이길어짐 지연은 K ㆍ 512 비트시간 첫충돌이면 K 는 {0,1} 에서선택 두번째충돌이면 K 는 {0,1,2,3} 에서선택 10 번째충돌혹은그이상이면 K 는 {0,1,2,3,4,,1023} 에서선택 20
이더넷표준 IEEE 802.3 표준 많은상이한이더넷표준 공통의다중접속프로토콜 (MAC) 다른속도 : 2Mbps, 10Mbps, 100Mbps, 1Gbps, 10Gbps 다른물리계층매체 : 광섬유, 케이블 application transport network link physical 100BASE-TX 100BASE-T4 MAC protocol and frame format 100BASE-T2 100BASE-SX 100BASE-FX 100BASE-BX copper (twister pair) physical layer fiber physical layer 21
허브 (Hub) 물리계층중계기 한링크에들어오는비트들이같은속도로모든다른링크로나감 ( 브로드캐스트 ) 각포트에연결된장비의 MAC 주소를모름 허브에연결된모든노드들은서로충돌가능프레임의버퍼링기능없음허브에서 CSMA/CD 기능없음 호스트어댑터가충돌감지 22
스위치 (switch) 링크계층장치로허브보다더똑똑하고많은기능 이더넷프레임을저장하고전달 입력되는프레임의 MAC 주소를조사하여하나이상의링크 에선택적으로전달 CSMA/CD 다중접속프로토콜사용 투명 (transparent) 호스트는스위치의존재를인지하지못함 자가학습 (self-learning), 플러그앤플레이 스위치를설정할필요없음 23
스위치 : 동시다중전송지원 호스트는스위치에직접연결스위치는패킷을버퍼링각입력링크에서이더넷프로토콜사용하지만충돌은없음 전이중방식 (full duplex) 스위칭 충돌없이 A-to-A와 B- to-b를동시에스위칭 허브는불가능 C 6 5 A A 1 2 B C 4 B switch with six interfaces (1,2,3,4,5,6) 3 24
스위치포워딩테이블 Q) 스위치가인터페이스 4를통해 A 에도달하고, 인터페이스 5를통해 B 에도달한다는사실을어떻게알수있는가? A) 스위치는스위치테이블을갖음 스위치포워딩테이블엔트리 : ( 호스트의 MAC 주소, 인터페이스, 시간 ) 시간은 TTL 로일정시간이지난후해당주소의프레임을수신하지못하면삭제됨 C 6 5 A 1 2 B C 4 B A switch with six interfaces (1,2,3,4,5,6) 3 25
스위치 : 자가학습 스위치는어느인터페이스를통해호스트에도달할수있는 가를학습 1) 스위치 ( 포워딩 ) 테이블은초기에비어있음 2) 인터페이스로수신한각프레임에대해 a) 프레임의출발지주소필드에있는 MAC 주소, b) 프레임이도착한인터페이스, c) 현재시간을테이블에저장 3) 이런식으로스위치는테이블에송신노드가상주하는랜세그먼트를기록, 4) LAN에있는모든호스트가프레임을송신하면결국모든호스트에대한정보가테이블에기록됨 26
스위치 : 자가학습 Source: A Dest: A A A A C B 6 5 1 2 4 3 B C A MAC addr interface TTL A 1 60 Switch table (initially empty) 27
스위치 : 프레임필터링 / 포워드 프레임이스위치에도착 : 1. 송신호스트와관련된링크를기록 2. MAC 목적지주소를사용하여스위치테이블검색 3. If 목적지의엔터리가있으면 then { if 목적지가도착한프레임의세그먼트이면 then 프레임을버림 else 지정된인터페이스로프레임을포워드 } else 브로드캐스트 28
자가학습, 포워딩예 프레임의목적지를모르면브로드캐스트목적지 A의위치를알면선택적으로전달 C A A A Source: A Dest: A B 6 1 2 A A 5 4 3 B C A A A MAC addr interface TTL A 1 60 A 4 60 switch table (initially empty) 29
스위치상호연결 Q) A에서 G로보내는경우, 이 와 를경유하여목적지 G까지프레임을포워드하는것을어떻게알수있을까? A) 자가학습 ( 단일스위치의경우와동일 ) S 4 A B S 1 C S 2 D E F G S 3 H I 30
스위치 vs. 라우터 둘다저장후전달패킷스위치 라우터 : 네트워크계층장치 ( 네트워크계층헤더조사 ) 스위치 : 링크계층장치 라우터는라우팅알고리즘을구현하여라우팅테이블관리스위치는필터링, 학습알고리즘으로스위치테이블관리 31
연습문제 32
연습문제 Q1) 모든인터페이스에 IP 주소를할당하라. 서브넷 1 에대해서는 192.168.1.xxx 형태의주소를사용하여, 서브넷 2 에대해서는 192.168.2.xxx 형태의주소를, 서브넷 3 에대해서는 192.168.3.xxx 형태의주소를사용하라. Q2) 모든어댑터에게 MAC 주소를할당하라. Q3) 호스트 E 에서호스트 B 로 IP 데이터그램을전송하는것에대해모든단계를열거하라. 단, 모든 ARP 테이블이최신이라고가정하자. Q4) 송신호스트의 ARP 테이블이비어있고나머지테이블은최신정보를가지고있다고가정하고 ARP 테이블생성하는단계를설명하라. 33
연습문제 Q5) 호스트 A, 두라우터, 호스트 F의인터페이스에 MAC 주소와 IP 주소를할당하라. 호스트 A는호스트 F로데이터그램을송신한다. (1) A에서왼쪽라우터, (2) 왼쪽라우터에서오른쪽라우터, (3) 오른쪽라우터에서 F로이 IP 데이터그램이프레임에캡슐화되어전달될때각경우의프레임출발지 MAC 주소와목적지 MAC 주소는무엇인가? 이들각경우에프레임에캡슐화되는 IP 데이터그램의출발지 IP 주소와목적지주소는무엇인가? 34
웹페이지요청에대한처리 ( 총정리 ) 35
시나리오 browser school network 68.80.2.0/24 Comcast network 68.80.0.0/13 DNS server web page web server 64.233.169.105 Google s network 64.233.160.0/19 36
자신의 IP 주소획득하기 UDP IP Eth Phy UDP IP Eth Phy router (runs ) UDP IP Eth Phy UDP IP Eth Phy router (runs )
ARP 프로토콜사용 DNS DNS DNS ARP query DNS UDP IP Eth Phy ARP ARP reply ARP Eth Phy 사용시 이더넷프레임브로드캐스트주소 : FFFFFFFFFFFF DNS & HTTP를사용하기전에 ARP 사용 수신측 ( 라우터 ) MAC 주소를모르기때문 router (runs ) 38
DNS 사용 DNS DNS DNS DNS DNS UDP IP Eth Phy DNS DNS DNS DNS DNS UDP IP Eth Phy DNS server DNS Comcast network 68.80.0.0/13 router (runs ) 39
HTTP 사용 TCP 연결설정 HTTP SYNACK SYNACK SYNACK HTTP TCP IP Eth Phy SYNACK SYNACK SYNACK HTTP TCP IP Eth Phy router (runs ) web server 64.233.169.105 40
HTTP 사용 요청 / 응답메시지 HTTP HTTP HTTP HTTP HTTP HTTP TCP IP Eth Phy web page finally!!!!! displayed!! HTTP HTTP HTTP HTTP HTTP TCP IP Eth Phy router (runs ) web server 64.233.169.105 41