컴퓨터 네트워크 10 : 데이터 링크 계층과 이더넷 프로토콜 데이터 링크층 랜에서 데이터를 어떤 형태로 받아서 보내야할지를 결정하는 구간 네트워크 장비 간에 신호를 주고받는 규칙(프로토콜)에 대해 정해놓는 계층. -> 가장 많이 사용되는 규칙이 바로 이더넷 네트워크 장비들 1. 허브 데이터를 주고 받는 컴퓨터 외에도 허브에 연결된 다른 모든 컴퓨터에게 데이터를 전송함. 목적지 MAC주소와 자신의 호스트 MAC주소와 다를 경우 데이터를 파기하고 같을 경우 데이터 수신함. 따라서 여러 컴퓨터가 동시에 데이터를 보낼 때 충돌 현상이 나타날 수 있음. 이렇게 회선 하나로 송수신을 번갈아가며 하는 방식을 반이중 통신이라고 함. 이를 해결하기 위해 데이터가 동시에 케이블을 지나가지 않도록 데이터 보내는 시점을 늦추..
컴퓨터 네트워크 09 : NAT NAT이란? Network Address Translation 하나의 공인 IP 주소를 사용하여 여러 대의 호스트(컴퓨터)가 인터넷에 접속할 수 있도록 하는 기술. 부족한 공인 IP를 절약할 수 있는 효과가 있다. 1:1 NAT 사설 IP 1개당 공인 IP 1개로 매칭시키는 것. 3대의 PC중 사설 IP를 가진 PC 하나가 DNS서버로 DNS 쿼리(특정 도메인의 IP주소를 물어보는 행위)를 시도한다. Firewall이 외부로 나가는 패킷을 인식하게 되면, 출발지의 IP 주소를 자신의 공인 IP 주소로 변경하고, 별도의 NAT 테이블을 보관하게 된다. 따라서 192.168.0.1은 Firewall를 통과하는 과정에서 1.254.223.4로 IP가 변환된다. DNS는 1.25..
컴퓨터 네트워크 08 : 라우팅 라우터: 다른 네트워크와의 연결을 통해 패킷을 전송할 수 있도록 하는 장치. 목적지까진의 경로를 설정해주는 역할을 한다. 라우팅 알고리즘의 목표는 송신자로부터 수신자까지 라우터의 네트워크를 통과할 때의 최소 비용 경로를 결정하는 것이다. 라우팅 알고리즘의 분류 중앙 집중형 vs 분산형 중앙 집중형 네트워크 전체에 대한 완전한 정보를 가지고 출발지와 목적지 사이 최소 비용 경로를 계산하는 알고리즘. 연결과 링크 비용에 대한 완전한 정보를 가져야한다. 이를 Link-State, LS 알고리즘이라고 한다. 분산형 최소 비용 경로의 계산이 라우터들에 의해 반복적이고 분산된 방식으로 수행된다. 어떤 노드도 모든 링크의 비용에 대한 완전한 정보를 갖고 있지 않다. 각 노드는 자신에게..
컴퓨터 네트워크 07 : 네트워크 계층, IP 주소의 구조, 서브넷 네트워크 계층 데이터 링크 계층에서는 이더넷 규칙을 기반으로 같은 네트워크에 있는 컴퓨터로는 데이터 전송이 가능하나, 다른 네트워크로는 전송 불가능. 이를 위해서 네트워크 계층 기술이 필요함. 네트워크 계층: 다른 네트워크와 통신하기 위한 경로 설정을 위해 라우터를 통한 라우팅을 하는 방식으로 패킷 전송을 담당. 라우터: 다른 네트워크와의 연결을 통해 패킷을 전송할 수 있도록 하는 장치. 어떤 경로로 가는 것이 좋은지 알려주기도 함. MAC 주소는 LAN에서만 통신할 수 있기 때문에 다른 네트워크에 데이터를 보낼 수 있는 주소가 필요했고, 이 역할을 IP 주소가 하게 된다. IP(Internet Protocol) 주소: 컴퓨터 네트워크에..
컴퓨터 네트워크 06 : TCP 흐름제어, 혼잡 제어 TCP 통신의 문제점 신뢰성을 보장하는 TCP 통신은 아래와 같은 문제점들이 존재한다. 1. packet 손실 2. 순서 보장X 3. Congestion: 네트워크 혼잡 4. Overload: receiver가 overload 됨 위의 문제점들을 해결하기 위해 흐름제어와 혼합제어 기능을 활용한다. 1. 흐름제어 sender(송신측), receiver(수신측) 데이터 속도 차이를 해결하기 위한 기법(특히 송신측 속도가 빠르면 문제가 생김) receiver가 packet을 지나치게 많이 받지 않도록 조절함(송신 측의 데이터 전송량을 수신측에 따라 조절해야 함) receiver가 sender에게 자신의 상태를 feedback함 해결법 1. Stop and ..
컴퓨터 네트워크 05 : TCP UDP 1. TCP Transmission Control Protocol 연결 지향적 프로토콜 = 클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 프로토콜 장치들 사이에 논리적인 접속을 성립하기 위해 연결을 설정하여 신뢰성을 보장하는 연결형 서비스 네트워크에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟(데이터, 메시지, 세그먼트라는 블록 단위)을 안정적이고 순서대로 에러없이 교환할 수 있도록 한다. 특징 1. 연결형 서비스로 가상 회선 방식(발신지와 수신지 사이에 논리적 접속을 성립하는 과정)을 제공 2. 3-way handshaking 과정을 통해 연결을 설정, 4-way handshaking 과정을 통해 연결을 해제 3. 연속성보다 신뢰성있는 전송을 중요..