LAN, WAN, 이더넷

- 이더넷(ethernet)은 같은 지역의 네트워크인 LAN을 유선으로 구현하는 기술 방식
- 이더넷은 신호와 케이블, 허브와 스위치, 전기 신호를 데이터로 변환하는 프로토콜 등의 내용을 포함함.
NIC

- NIC(Network Interface Card) : 데이터를 전기 신호로, 전기 신호를 데이터로 변환하는 직렬화 작업을 함. NIC는 고유한 식별 번호인 MAC주소를 갖고 있음. 논리적인 주소인 IP주소와 달리 MAC주소는 물리적인 주소로 고유하고 바뀌지 않음.
- MAC주소를 이용해서 데이터가 들어왔을 때 헤더에 적힌 도착지 MAC주소를 확인하고 자기 주소가 맞는지 판별함.
- 00-0E-C6-FD-67-9C < MAC주소 예시임.
- MAC주소는 48비트로 된 식별자이고, 6바이트임.
- FD를 보면 F와 D 각각 4비트이고 합쳐서 8비트=1바이트가 된다.
- 이진수로 변환하면 F는 '1111'이고 D는 '1101'이므로 FD는 '11111101'인 총 8비트=1바이트이다.
허브와 스위치

- 허브와 스위치는 같은 네트워크 상에서 서로 다른 기기로 데이터를 전송하기 위해 사용하는 장비.
- 우리 일상에서도 라우터, 허브/스위치의 역할을 하는 장비가 있음. 그것이 바로 인터넷 공유기임. 위 그림에서 LAN이라고 쓰인 곳으로 기기를 연결하면 서로 하나의 네트워크 안에서 데이터를 주고 받을 수 있게 된다.

- 허브는 스위치보다 먼저 만들어진 장비이고, 데이터를 자신에게 연결된 모든 기기에 전달한다. Broadcast 통신 방식이다. 한 번에 하나의 장비에만 데이터 보낼 수 있고, 동시에 여러 기기에서 데이터를 전송하면 충돌이 발생할 수 있다는 문제가 있어서 요즘은 스위치를 쓴다.
- 스위치는 허브와 달리 데이터가 들어왔을 때 해당 데이터를 요청한 기기가 누구인지 파악하고 목적지로 정확히 전달하는 장비이다. Unicast방식이다. 그럼 스위치는 목적지를 어떻게 찾는 것인가? 자신에게 연결된 기기들의 고유 주소인 MAC주소를 저장하고 있다.

보통 스위치에 연결된 컴퓨터들은 각자 고유한 포트 번호를 가지고 있다. 거실 컴퓨터는 포트 번호 1234번, 동생 방 노트북은 포트 번호 4321번일 수 있다. 그리고 데이터 통신이 시작되면 스위치는 자신에게 들어온 데이터의 헤더를 보고 목적지의 MAC주소가 어디며 포트 번호는 몇 번인지를 확인해서 MAC주소 테이블에 저장한다. 이렇게 한 번 저장되고 나면 다시 데이터를 주고받을 때, 스위치에서 데이터의 MAC주소를 확인한 뒤 MAC주소 테이블을 확인해서 주소가 일치하는 기기의 포트로만 데이터를 전송한다.
예시
1. 송신 장치에서 데이터 프레임(패킷)이 생성됩니다. 이 프레임에는 목적지의 MAC 주소(Physical Address)와 함께 실제 데이터가 포함되어 있습니다.
2. 이 프레임이 네트워크를 통해 스위치에 도착하면, 스위치는 MAC 주소 필드를 확인합니다.
3. 스위치는 자체 MAC 주소 테이블(CAM table)에서 해당 MAC 주소를 찾아 그것이 어떠한 포트(port)에 연결되어 있는지 확인합니다.
4. 만약 해당 MAC 주소가 테이블에 없다면, 스위치는 브로드캐스트(broadcast)를 수행하여 모든 포트로 해당 패킷을 전송합니다.
5. 만약 해당 MAC 주소가 테이블에 있다면, 그것과 연결된 포트로만 패킷을 전송합니다.
6. 목적지 장치가 패킷을 받으면 이것은 원래의 데이터로 변환되고 사용됩니다.
라우터
- 라우터 = 서브넷/서브넷 마스크가 다른 네트워크와 연결하기 위해 최적의 경로를 찾아서 목적지까지 패킷을 전달하는 장비
- 라우터는 여러 개의 네트워크를 연결하고, 각각의 패킷이 어떻게 목적지에 도달할 수 있는지 결정하는 역할
- 공유기는 라우터의 수많은 기능들 중 NAT 기능을 쏙 빼온 장비
- NAT는 하나의 공인 아이피를 통해 공유기에 연결된 여러 개의 호스트들에게 사설 아이피를 부여하여 인터넷이 가능하게끔 만들어주는 역할
- 여기서 같은 네트워크 안에서 NAT를 통한 패킷 전달을 라우팅이라고 하는 사람들이 있는데 이것은 라우팅이 아니라 포워딩이다.
- 포워딩과 라우팅의 차이점은 애시당초 길이 뚫려있냐 막혀있냐 차이이다. 뚫려있는 길을 통해 패킷을 전달하는 것이 포워딩인 것이고, 막혀있는 길을 최적의 경로로 길을 만들어 주어서(찾아서) 패킷을 전달하는 것이 라우팅이다.
포트(Port)
- 포트는 “논리적인 접속장소”를 뜻하며, 인터넷 프로토콜인 TCP/IP를 사용할 때 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용한다.
- 네트워크 상에서 통신을 할 때 IP 주소를 바탕으로 해당 서버가 있는 컴퓨터에 접근하게 된다.
- 하나의 IP에서 여러 애플리케이션을 실행할 경우, 컴퓨터에는 여러 개의 서버가 실행하게 된다.
- 이때 포트번호를 통해 대상 IP 기기의 특정 애플리케이션의 서버에 접속할 수 있도록 알려주어야 한다.

- 위 그림은 한 서버 인스턴스에서 웹 서버와 메일 서버 두 개를 동시에 실행 중인 상황을 뜻한다. 이 경우 IP 주소만으로는 어느 서버로 요청을 보내는지 알 수 없다. 따라서 포트 번호를 통해 receiver를 특정하여 어느 서버로 보내는 요청인지 특정할 수 있다.


IP주소(logical address)
- 이 주소는 네트워크 관리자나 DHCP(Dynamic Host Configuration Protocol) 서버에 의해 장치에 할당
- 인터넷 프로토콜(IP) 계층에서 사용되며, 서로 다른 네트워크 간에 패킷을 라우팅하는데 사용
- 예를 들어, 같은 로컬 네트워크(LAN) 내의 두 컴퓨터가 통신할 때는 MAC 주소(Physical Address)가 직접적으로 사용된다. 하지만 웹 브라우저를 통해 인터넷 상의 웹사이트를 방문하려면 IP 주소(Logical Address)를 통해 웹 서버와 연결되어야 한다.
즉, MAC 주소는 로컬 네트워크 내에서 패킷의 목적지를 찾는 데 사용되고, IP주소는 인터넷상에서 데이터가 전송될 수 있는 경로를 결정하는 데 필요하다.
OSI 7 Layer



- 그 이전에 NIC는 IP주소와 MAC주소 둘 다 할당 받고, MAC주소는 데이터 링크 계층에서 사용되고 IP주소는 네트워크 계층에서 사용된다. 이더넷(Ethernet) 네트워크에서 MAC 주소를 사용하여 데이터 프레임을 수신 및 전송하는 장치들을 식별한다.
- 네트워크 통신이 일어날 때, 먼저 데이터 전송측에선 첫번째 그림을 보면 각 계층을 지날 때마다 Header가 붙게 되고, 수신측에서는 역순으로 헤더를 분석하게 된다.
- 7 계층 - 어플리케이션 계층 (Application) : 사용자가 네트워크에 접근할 수 있도록 인터페이스를 제공하는 최상위 계층
- 6 계층 - 프레젠테이션 계층 (Presentation)
- 5 계층 - 세션 계층 (Session)
- 4 계층 - 트랜스포트 계층 (Transport) : 데이터 전송의 신뢰성과 효율성을 관리. TCP나 UDP와 같은 프로토콜이 여기에서 작동하고 패킷들이 올바르게 순서대로 도착하도록 보장.
- 3 계층 - 네트워크 계층 (Network) : 데이터 패킷의 경로 설정(routing) 및 중계(relay) 작업이 이루어짐. IP주소 사용하여 패킷이 목적지까지 어떻게 도달할 것인지 결정.
- 2 계층 - 데이터링크 계층 (DataLink) : 이 계층에서는 에러 검출 및 수정, 프레임 구조화 등의 기능을 수행. MAC 주소를 사용하여 패킷을 목적지로 전달하는 역할.
- 1 계층 - 물리 계층 (Physical) : 비트 단위의 데이터 전송을 처리함. NIC(interface)가 데이터를 신호로 변환. Cable(UTP,STP,동축케이블,광케이블).
- 데이터를 전송하는 과정에서는 각 OSI 계층이 데이터에 헤더를 추가하는 캡슐화(encapsulation)
- 데이터를 수신하는 과정에서는 각 OSI 계층이 자신의 정보(헤더 또는 트레일러)을 제거하고 원래의 데이터로 복원하는 디캡슐화(de-encapsulation)
참고블로그 링크

