전송계층에서의 PDU(프로토콜 데이터 단위) 는 Segment 이다. application layer 에서 TCP 헤더를 붙여 캡슐화 하면 TCP segment 가 된다. network layer 에서 받은 패킷에서 IP header 를 제거하는 역캡슐화를 거쳐도 TCP segment 가 된다. 전송계층에 핵심이 되는 TCP(Transmission Control Protocol)은 신뢰성과 정확성의 특징을 지닌다. 데이터 전송 과정에서 연결을 확립하는 연결형 통신을 수행한다. TCP header는 목적지 까지 데이터를 신뢰성있게 전송하기 위한 정보들을 가지고 있다. TCP 세그먼트의 핵심이 되는 TCP 헤더의 구조는 아래와 같다. 1. Source port, Destination port 직관적으로 이름..
네트워크 환경은 기본적으로 비신뢰성 환경이므로 데이터 전송과정에서 에러와 유실이 발생하기도 한다. 이런 환경에서 사용자의 입장에서는 신뢰성 있는 서비스를 제공받고 싶은것은 당연한 논리이다. 그렇기에 전송계층에서는 "목적지에 신뢰할 수 있는 데이터를 전송할 수 있는가?" 에 초점을 맞춘다. 데이터를 그냥 보낸다고 끝나는 것이 아니라 데이터 전송의 신뢰성을 보장해주는 역할에 초점을 맞추는 것이다. 전송계층의 특징은 신뢰성과 정확성에 초점을 두어서 전송을 하느냐, 효율적으로 데이터를 전송하느냐에 따라서통신방식이 나눠진다. 대표적인 주요 프로토콜은 TCP, UDP 이다. 1. TCP - 신뢰성과 정확성에 초점을 두는 전송 방식은 연결을 하여 여러번 확인하는 절차를 필요로 한다. - 프로세스간 전송을 담당. - ..
https://www.acmicpc.net/problem/2240 2240번: 자두나무 자두는 자두를 좋아한다. 그래서 집에 자두나무를 심어두고, 여기서 열리는 자두를 먹고는 한다. 하지만 자두는 키가 작아서 자두를 따먹지는 못하고, 자두가 떨어질 때까지 기다린 다음에 떨어 www.acmicpc.net 어떤 시간에 어떤 위치에 있어야 자두를 최대한 많이 받을 수 있는지 계산하는 문제이다. 해당 문제도 동적계획법 문제로 풀면 해결이 된다. 일단 예제에서 제시한 예시를 기준으로 어떻게 6개라는 숫자가 나오는지 확인해보자. 여러가지 경우의 수가 있겠지만 대표적으로 두개의 경우의 수가 있다. 다른 경우의 수를 조합해봐도 최대 6개 초과의 자두를 받을수는 없으므로 최대 자두 획득 개수는 6개가 된다고 할 수 있다..
ICMP(Internet Control Message Protocol) 란 IP 에 의한 통신이 정상적으로 이루어졌는지 확인하는 프로토콜이다. ICMP 는 목적지 IP 로의 데이터 전송 여부를 확인할 수 있게 해주는 역할을 수행한다. ICMP의 주요기능은 에러 리포팅과 진단(질의) 기능이다. ICMP는 보내는 측에게 네트워크 내에서 일어나는 에러 상황을 통보하거나 네트워크 상태를 진단하는 기능을 제공한다. ICMP는 네트워크 계층 프로토콜이지만 IP 헤더로 캡슐화 되는것이 특징이다. ICMP 헤더에는 다음과 같은 필드들이 존재한다. 필드들은 각각 타입,코드,체크섬, ICMP 데이터 등이 존재한다. 타입은 ICMP 메시지 유형이고, 코드는 타입값의 내용이다. 체크섬은 에러 검사의 역할을 수행한다. ICMP..
ARP protocol 은 Address Resolution Protocol 로 ip 주소를 mac 주소로 변환시켜주는 프로토콜이다. 라우터는 다음 라우터로 데이터를 전송하면서 데이터의 이더넷 헤더와 FCS 가 교체된다. MAC 주소는 각 장치마다 부여된 고유의 물리적 주소이기 때문에 전송도중에 거쳐야 할 기기들을 지나면서 목적지 MAC 주소와 출발지 MAC 주소가 바뀔 수 있다. 따라서 이더넷 헤더와 FCS도 교체가 된다. 네트워크를 지나는 데이터들은 한 네트워크 내에서 뿐 아니라 여러개의 네트워크를 지나는 경우가 많다. 이렇게 여러개의 네트워크를 지나기 위해서는 라우터가 다음 라우터로 데이터를 전송하기 위해 논리적인 주소인 IP 주소뿐만 아니라 물리적 주소인 MAC 주소도 알아야 한다. 그러나 보내는..
IP 주소는 이용하는 범위에 따라서 공인 ip주소와 사설 ip 주소로 나눌 수 있다. 공인 IP 주소는 인터넷에서 이용하는 IP 주소이며, 인터넷에 통신하기 위해서 반드시 필요한 주소이다. 사설 IP 주소는 사설 네트워크에서 이용하는 IP 주소로, 가정 내의 네트워크 또는 회사 내의 네트워크라고 볼 수 있다. 가정 내의 네트워크와 회사 내의 네트워크가 있다고 가정해보자. 이때 가정 내에서 노트북이 사용하는 IP 주소와 MS 서울지사의 한 컴퓨터가 사용하는 IP 주소가 사설 주소라면 ip 주소가 겹치더라도 각 사설 범위 내에서의 통신에는 문제가 없다. 그러나 사설 네트워크에 속한 기기로 인터넷을 사용하고 싶을 경우, 사설 네트워크 그대로 인터넷으로 통신할 수 없다. 이를 위해서는 사설 IP 주소를 공인 I..
OSPF 는 Open Shortest Path First 약자로 AS(Autonomous System) 내에서 라우팅을 수행하는 가장많이 사용하는 IGP 중 하나이다. 링크상태 알고리즘 및 광고 기법을 사용한다. 또한 다익스트라 알고리즘으로 최적의 경로를 계산해준다. OSPF 는 라우팅을 효율적으로 수행하기 위하여 네트워크를 영역단위로 나누어서 관리한다. AS(Autonomous System) 내에 여러 개의 영역으로 나눈 다음, 내부의 라우터들끼리 각 영역에서 라우팅 정보를 교환하는 계층적 구조를 가진다. 여러 영역중 백본 영역(Backbone Area)은 다른 AS 와 연결을 담당한다. AS 안에 존재하는 라우터들을 살펴보면 경계라우터, 백본 라우터, 영역 경계 라우터 가 존재한다. 1. 경계 라우터..
https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 합분해 문제이다. 해당 문제를 이해하기 위해서 간단한 예시를 들어보자. 만약 N = 4, K= 2 인 경우를 생각해보자. 그럼 숫자 4를 0~4 의 숫자로 두개를 합해서 만들어야 하는 경우의 수를 구하면 된다. 그럼 아래와 같은 순서쌍이 나오게 된다. (0,4), (4,0), (3,1), (1,3), (2,2) 위와 같이 5개의 순서쌍이 나와서 5개가 답이된다. 그럼 이제 일반화 가정을 거쳐보자. (0,4), (4,0), (3,1), (1,3), (2,2) 위와 같이 순서쌍을 뽑는다고 가정했을 경우에 4 = x + r 이라..
RIP (Routing Informartion Protocol) 은 AS 내에서 라우팅을 수행하는 IGP 중 하나이다. RIP 는 목적지로 도착하기 까지 홉 수 정보를 저장하고 인접 라우터와 정보를 공유하는 방법이다. 즉, 라우팅 관련 정보를 자동으로 주기적으로 공유하는 방법이다. RIP 는 벨만이 제안한 거리 벡터 알고리즘에 기초하여 "Bellman-Ford Protocol" 이라고도 불린다. (** 홉수 : 목적지로 도착하기 까지 거쳐야 하는 링크 혹인 라우터의 수) 홉수를 포함한 라우팅 정보를 일반적으로 30초마다 갱신한다. 120초 동안 정보를 받지 못하면 경로 단절로 판단한다. 그리고 단절된 경우 홉 수를 무한으로 표시한다. 또 다른 표현으로는 무한을 16으로 표현하기도 한다. RIP 는 UDP..
라우팅 프로토콜은 라우팅 정보를 교환하기 위한 프로토콜이다. 라우팅은 크게 정적 라우팅과 동적 라우팅으로 구분할 수 있다. 정적라우팅은 관리자가 직접 테이블을 관리하고 갱신하면서 수동 설정을 하는 방식이다 그러나 수동설정의 정적 라우팅 방식은 관리자가 손수 경로를 지정해야하므로 경로를 관리하는데에는 효율적이지만 번거롭다는 단점이 존재한다. 동적 라우팅은 자동적으로 라우팅 테이블의 정보를 주기적으로 전달받아 갱신하는 방법이다. 동적 라우팅 프로토콜은 AS(Autonomous System) 을 기준으로 어떤 역할을 하느냐에 따라 내부 라우팅 프로토콜과 외부 라우팅 프로토콜로 분류할 수 있다. AS 는 네트워크를 체계적으로 관리하기 위한 자율 시스템이다. 또한 AS는 하나의 라우팅 정책이자 라우팅 관리자에 의..