HJW's IT Blog

컴퓨터 네트워크: 13주차 본문

컴퓨터 네트워크

컴퓨터 네트워크: 13주차

kiki1875 2023. 5. 30. 16:19

#MAC address and ARP

          > MAC address란

                    >> 기능: 로컬에서 사용되며, 한 인터페이스에서 다른 물리적으로 연결된 인터페이스로부터 frame 을 로컬로                                         받아올때 사용한다

                    >> Burned in NIC ROM (구워져 있다)

                    >> 48 bit: MAC Address = Manufacturer ID + Product ID (represented in hexadecimal)

                    

                    >> LAN 의 각 adapter는 LAN 주소가 있다

                    >> MAC 주소 할당은 IEEE 가 도맡는다

                    >> Manufacturer 들은 MAC 주소 공간의 일부를 구매

                    >> MAC 주소 : 주민번호와 같다, IP 주소: 우편번호와 같다

                    >> MAC flat address -> Portability

                              - LAN card 사이에 옮기는 것이 가능

                    >> IP 계층적 주소 -> Not Portable

                              - IP 주소는 어떤 IP subnet에 노드가 연결되어 있는가에 영향을 받는다

 

          > ARP: Address Resolution Protocol

                    >> Q: 어떻게 인터페이스의 MAC 주소를 결정할까? (IP 주소를 안다 가정)

                    >> ARP Table: LAN 에 올라가 있는 IP node 는 table 을 보유

                              - IP/MAC addr mapping

                              - ex) <IP addr; MAC addr; TTL>

                              - TTL: Time to Live -> mapping 이 언제 까지 살아있을지 (보통 20 min)

 

          > ARP Example

                    >> A 가 B 에게 datagram 을 보내려 함

                    >> B 의 MAC 주소가 A의 ARP table 에 등록되어 있지 않다며?

                    >> A 가 B 의 ip 주소를 가진 ARP query packet을 broadcast

                              - destination MAC addr = FF-FF-FF-FF-FF-FF

                              - LAN 에 있는 모든 노드가 query를 받음

                    >> B 가 ARP 패킷을 받고 A 에게 자신의 MAC 주소를 반환

                              - frame 은 A의 MAC 주소로 (unicast)

                    >> A 는 A의 ARP 테이블에 IP - MAC 매핑을 cache화 한다. 

                              - Soft State: 갱신되지 않으면 날아가는 정보

                    >> ARP 는 "plug and play" 

                              - net 관리자의 개입없이 노드들은 각자의 ARP table 을 생성

ARP Format

          > Addressing: Routing to another LAN

                    >> A가 R (라우터)를 통해 B로 datagram 을 보낸다면?

                    >> addressing 에 집중 ( IP {Datagram} and MAC {Frame})

                    >> A 가 B의 IP를 안다 가정

                    >> A 가 first hop router 의 ip를 안다 가정 (HOW?)

                    >> A가 R의 MAC 주소를 안다 가정 (HOW?)

 

                    >> A 가 IP datagram을 생성, IP source A, dest B

                    >> A 가 R의 MAC 주소를 목적지로 link-layer frame을 생성. 이때 frame은 A-B ip datagram 포함

                    >> R이 frame 을 받고, datagram을 제거한 뒤 ip로 전달

                    >> R이 datagram을 A-B forwarding

                    >> R 이 B의 MAC 주소를 dest로 사용해 link layer frame 을 생성 (즉, source & dest 갱신)

                    >> 

          > DHCP 

                    - 이전에 포스트에서 다루었듯이 DHCP는 first hop router 의 ip 주소, DNS 서버의 이름과 ip, network mask 를

반환

 

          > Subnet - Mask

                    >> Destination 이 다른 network 에 있다면 R 로 데이터그램을 보낸다

Subnet Mask

       


# Ethernet

          > 오늘날 대부분은 wired LAN tech

          > 하나의 chip, multiple seeds

          > Simple & Cheap

          > Kept up with speed race : 10mbps - 10 gbps

 

          > Ethernet Frame Structure

                    >> Preamble

                              - 7 byte with pattern 10101010 followed by one bye with pattern 10101011

                              - 송/수신자의 clock rate 를 동기화 하기 위해 사용

                    >> Addresses

                              - 6 byte source / destination MAC addr

                              - 만약 adapter 가 matching dest addr 이나 broadcast addr 을 가진 frame 을 받으면 frame 을 network                                         layer 로 보낸다

                    >> Type

                              - 상위 프로토콜을 가르킨다

                    >> CRC

                              - cyclic 중복성 체크 ( error detected: frame is dropped)

         

          > Ethernet: Unreliable, Connectionless

                    >> No handshaking between sending and receiving NIC

                    >> Receiving NIC doesn't send ack or nack

                    >> Drop 된 데이터는 송신자가 상위 계층 rdt 사용시 복구가능

                    >> Ethernet's MAC protocol :  unslotted CSMA/CD with binary backoff

 

          > Ethernet: Physical Topology

                    >> 90 년도에는 bus 를 사용 (모든 노드가 같은 도메인) (충돌이 잘일어남)

                    >> 현제는 star 형식 사용

                              - 중앙에 스위치

                              - 노드끼리 충돌 x 


#Ethernet Switch

          > Link - Layer Device: takes an active role

                    >> 이더넷 프레임을 저장하고 forward

                    >> 수신된 프레임의 MAC 주소를 검사, 선택적으로 프레임을 전달

          > Transparent

                    >> Host 는 스위치의 존재를 인식하지 못한다

          > Plug-and-Play, Self-Learning

                    >> no configuration needed

 

#Switch: Multiple Simultaneous Transmissions

          > 다음 상황에서 A' 은 interface 4를 통해 도달이 가능함을, B' 은 interface 5 를 통해 도달이 가능함을 어떻게 알까?

                    >> 각 스위치는 switch table 을 가진다

                    >> Table 에는 host MAC addr, interface to reach host, TTL

          > 그렇다면 어떻게 이 테이블은 만들어질까?

                    >> Self-Learning

                              - 스위치는 스스로 어떤 호스트가 어떤 interface 를 통해 도달이 가능한지 배운다

                              - 프레임이 도착하면 스위치는 송신자의 위치를 알게된다

                              - When frame received at switch...

                                        <record incoming link, MAC addr of sending host>

                                        <Index switching table using MAC dest addr>

                                        <만약 테이블에 entry 가 있다면>

                                                  - 만약 목적지가 프레임이 도착한 세그먼트에 있다면 : 프레임 삭제

                                                  - 그렇지 않다면 : entry 에 표시된 인터페이스로 프레임 전달

                                        <테이블에 entry 가 없다면>

                                                  - 프레임을 도착한 인터페이스를 제외한 모든 인터페이스에 전달(flood)

 

                    >> Self-learning 스위치들은 서로 연결될 수 있다

                              - 다음 상황에서 A 에서 G로 보낼때는 어떻게 알까? --> 스위치가 하나일 때랑 똑같다

 

# Switches VS. Routers

          > 둘 모두 store and forward

                    > Routers: Network layer

                    > Switches: Link Layer

          > 둘 모두 forwarding table 존재

                    > Routers: Compute talbes by routing algorithms and IP

                    > Switches: Compute table by flooding and learning, MAC addr

 

 

#VLANs          

          > 다음 상황을 생각해보자

                    >> 만약 CS user 가 EE 로 사무실을 옮기지만 CS 스위치에 연결하고 싶다면

                              - ARP, DHCP 등 모두 LAN 전체를 훑어야 한다

                              - 보안, 효율 문제가 많다

          > Virtual Local Area Network

                    >> VLAN 을 지원하는 스위치들은 하나의 LAN 을 여러개의 VLAN 으로 나눌 수 있다

          > Port-based VLAN

                    >> Traffic Isolation

                              - 1~8 포트에서 오가는 frame은 1~8번 포트에만 도달할 수 있다

                    >> Dynamic Membership

                              - 포트는 동적으로 바뀔 수 있다

                    >> Forwarding between VLANS

                              - 라우팅을 통해 이루어진다

                    >> Truck Ports

                              - 한 VLAN이 여러 스위치 사이에 정의될 수도 있는데, 이때 그 사이의 frame 을 전달          

 

'컴퓨터 네트워크' 카테고리의 다른 글

서버란 무엇인가 [FEAT: OSI 7 / TCP / IP]  (0) 2024.09.17
Computer Network: 14주차  (0) 2023.06.08
Computer Network: 12주차  (0) 2023.05.24
Computer Network: 11주차  (0) 2023.05.21
Computer Network: 10주차  (0) 2023.05.20