컴퓨터 사이언스21 네트워크 계층 - 라우팅 알고리즘 라우팅 알고리즘 라우터는 forwarding table을 룩업해서 패킷의 IP주소와 매칭 되는 다음 router를 찾아 전달한다. (longest prefix matching) 이때, forwarding table은 특정 알고리즘에 따라 구성되는데 이 알고리즘을 라우팅 알고리즘이라고 한다. 라우팅 알고리즘은 네트워크를 그래프로 추상화하고 시작지점과 목적지까지의 최소 비용을 구하는 알고리즘이다. 라우팅 알고리즘은 크게 두 개로 구분되는데 모든 그래프 정보를 아는 상태로 계산하는 방법(global)과 인접한 노드의 정보만으로 계산하는 방법(decentralized)이 있다. AS AS(astonomous systems)는 routing 알고리즘을 공유하는 router 집합을 의미한다. 네트워크는 AS간 연결.. 2023. 3. 12. 네트워크 계층- IP 애플리케이션 계층과 전송 계층은 end to end 전송에 입각하고 있다면 네트워크 계층은 end에서 다른 end까지 전달되는 과정을 관장한다. 다른말로 에플리케이션 계층과 전송 계층은 네트워크 엣지 부분에서 동작한다면 네트워크 계층은 네트워크 코어에서 동작한다. 네트워크 코어는 수많은 라우터들의 집합으로 이루어져있다. 라우터는 네트워크 엣지에서 전송한 데이터를 다른 네트워크 엣지로 전달하기 위해 routing과 forwarding을 수행한다. 라우터의 역할 routing: IP 주소와 다음 라우팅 경로를 맵핑하는 forwarding 테이블을 만드는 것 forwarding: routing 알고리즘에 의해 생성된 forwarding 테이블을 참조하여 데이터를 다름 라우터로 전달하는 것 forwarding .. 2023. 3. 9. 전송계층 - TCP TCP 통신 특징 Point to Point socket 한쌍의 통신만을 수행한다. reliable, in-order byte stream 유실없이 순서대로 전달된다. pipelined 한번에 여러개의 패킷을 연속적으로 전달한다. send & receiver buffer reliable 한 데이터 전송을 위해 send와 receiver는 buffer에 데이터를 일시적으로 저장한다. full duplex data 데이터가 양방향으로 움직인다. connection oriented 커넥션 기반으로 데이터를 전송하기 위해 handshake 과정을 거친다. flow controlled receiver buffer에 남는 공간 만큼 sender 가 보내는 데이터 양을 조절한다. congestion controlle.. 2023. 3. 7. 프로세스와 스레드 프로세스 프로세스는 실행중인 프로그램을 말한다. 프로세스의 문맥 (현재 상태) CPU 수행 상태를 나타내는 하드웨어 문맥 Program Counter 각종 register 프로세스의 주소 공간 (code, data, stack) 프로세스의 커널의 주소 공간 PCB : 프로세스 커널의 data 영역에서 저장 Kernel stack : 해당 프로세스에서 호출한 커널 함수 stack 프로세스의 상태 Running : CPU에서 실행되고 있는 상태 Ready : CPU를 사용하기 위해 대기하고 있는 상태 Blocked(wait, sleep) CPU를 주어도 당장 수행할 수 없는 상태 Process 자신이 요청한 event(I/O)가 아직 만족되지 않아 기다리는 상태 자신이 요청한 event가 만족되면 ready.. 2023. 2. 26. 이전 1 2 3 4 5 6 다음