<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>AIoT 강좌 5-1,5-2,6장 by POSTECH 인공지능연구원</title>
      <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2</link>
      <description>반/조/이름과 배운 점 및 질문을 적어주세요. 질문은 궁금한 점이 있는 교육생만 적어주시면 됩니다.</description>
      <language>en-us</language>
      <pubDate>2022-10-07 06:27:56 UTC</pubDate>
      <lastBuildDate>2022-10-24 15:11:29 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>(예시) C1 홍길동</title>
         <author>kimhyojin2</author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2330558805</link>
         <description><![CDATA[<div>1. 배운점&nbsp;<br>- LAN, WLAN의 정의, 특징 및 차이점에 대해 자세하게 알 수 있었습니다.<br>- ....................<br><br>2. 질문 (궁금한 점이 있는 경우 게시)</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-07 06:40:24 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2330558805</guid>
      </item>
      <item>
         <title>A1 장승국</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2343267889</link>
         <description><![CDATA[<div>5-1장</div><div><br><br></div><div>Network Layer &amp; IP</div><div>network layer의 역할 - sender가 보낸 정보를 안전하게 receiver에게 보내는 역할</div><div>header에 주소를 적어서 보냄 (IP)</div><div>라우터가 안전하게 데이터를 전송시킨다.</div><div><br><br></div><div>Routing- 라우터가 forwarding 을 할 때 어디로 보낼지 결정하는 행위</div><div>forwarding - 정보를 전달하는 행위</div><div><br><br></div><div>network는 크게 두가지로 나눌 수 있다.&nbsp;</div><div>- circuit -switched networks</div><div>- packer-switched networks</div><div><br><br></div><div>circuit-switched networks = 유선전화망</div><div>&nbsp;전화를 하고싶어서 번호를 누르면 회선(circuit)을 미리 예약, 예약이 완료가 되면 통화가 이루어 진다.</div><div>circuit을 만듦 → 통화를 함 → circuit을 제거(종료)</div><div>overhead가 될 수 있다.</div><div>&nbsp;장점 : circuit이 예약 되기 때문에 realtime으로 통화할 때 좋다. delay없음</div><div>&nbsp;단점 : 체널의 낭비가 존재한다.</div><div><br><br></div><div><br><br></div><div>packet-switched networks = 셀룰러 3세대부터 (Message switching의 일부)</div><div>&nbsp;긴 메세지를 중간중간 잘라서 몇개의 packet 단위로 나눠서 전송 → 시간이 매우 절약된다.</div><div><br><br></div><div>&nbsp;여러 packet을 보내는데, 각각의 packer을 보낼 때 라우터가 한쪽이 밀리면 일부는 다른쪽으로도 안내 한다.</div><div>&nbsp;→ 상관없다. 다 도착하면 순서를 기억해서 다시 정렬.</div><div><br><br></div><div>&nbsp;무조건 잘게 자른다고 좋은게 아님.</div><div>&nbsp;헤더와 데이터의 비율을 고려하고 잘라서 보내야 한다.</div><div><br><br></div><div>***중요***</div><div>local forwarding table을 만드는 것이 routing algorithm</div><div>&nbsp;라우터들이 스스로 계산을 함&nbsp;</div><div>&nbsp;각 라우터들은 이웃한 경로로 가는 비용만 알고있다.&nbsp;</div><div><br><br></div><div>Two routing algorithms</div><div>1. link state routing algorithm</div><div>- 각 라우터들은 이웃한 경로로 가는 비용만 알고있지만 서로 그 정보를 공유해서 알맞은 알고리즘을 만들어낸다.</div><div>&nbsp;→ 똑같은 topology를 만듦</div><div><br><br></div><div>2. distance vector routing</div><div>- 이웃하고만 주고받는다. (모든노드가 아니라)</div><div><br><br></div><div>5-2장</div><div>IP(internet protocol)</div><div>*IP addrsses (IP ver.4, 4byte)</div><div>-크게 5가지 클래스로 구분이 된다. 보통 ABC 3개 중 하나</div><div>Net ID, Host ID를 나누는 비율에 따라 나뉨</div><div>Net ID(14), Host ID(16)인 class B를 제일 많이 쓴다. (포항공대가 쓰는 주소)</div><div><br><br></div><div>*subnet mask</div><div>- subnet ID를 몇비트를 썻는지</div><div><br><br></div><div>*CIDR</div><div>-class 하나가 차이날 수록 host ID의 갯수가 너무 큰 차이가 나서(ex, class A의 host ID = 2^16개 = 64000개 , class B의 host ID = 2^8개 = 256개) 그 중간지점을 만들어주는 방</div><div>32bit - /뒤의 숫자</div><div>&nbsp;법</div><div><br><br></div><div>*NAT(network address Translation)</div><div>(network address가 부족한 것을 해결하는 방법 중 하나)</div><div>IP address 하나를 가지고 엄청나게 많은 호스트를 할당받는 방법 중 하나.</div><div><br><br></div><div>6장</div><div><br><br></div><div>*Transport layer</div><div>&nbsp;정보가 잘 도착했는지 유무</div><div>UDP(User Datagram Protocol), TCP(Transmission Control Protocol) 두 가지가 있다.</div><div><br><br></div><div>1.UDP(User Datagram Protocol)</div><div>&nbsp;정보의 손실이 조금 발생해도 괜찮을 때 사용</div><div>ex) 월드컵 중계</div><div>2.TCP(Transmission Control Protocol)</div><div>&nbsp;정보가 아주 정확하게(속도보다는) 전달되어야 할 때 사용.</div><div>ex) 은행 間 송금</div><div>reliable 해야함.</div><div>Retransmission of lost packets</div><div><br><br></div><div>* TCP(Transmission Control Protocol)</div><div>- control 종류가 세가지 있다.</div><div>Congestion control</div><div>:sender가 데이터를 보냈는데 밀려서 안보내졌을 때</div><div>End-to-end Flow control</div><div>:sender 와 receiver 사이에 속도조절을 위해 사용</div><div>Error Control</div><div>:에러발생에 관한 문제</div><div><br><br></div><div>*Flow control</div><div>ex) sender는 슈퍼컴퓨터</div><div>receiver는 일반컴퓨터</div><div>-sender가 속도를 조절 할 필요가 있다.&nbsp;</div><div>receiver가 정보를 잘 받았다고 ack(?)를 보냄</div><div>sender가 receiver 넘치지 않게 보내는 것을 조절하는 방법</div><div><br>inefficient 하다</div><div>&nbsp;해결 → pipelining (여러개를 보내고 여러개를 받는 방식)</div><div><br><br></div><div>*Error Control</div><div>- stop and wait ARQ 방식</div><div>- Go back N ARQ 방식</div><div>&nbsp;→ error-free operation</div><div>&nbsp;→ corrupted data packet</div><div>&nbsp;→ corrupted ACKs (cumulative)</div><div><br><br></div><div><strong>TCP Congestion Control</strong></div><div>- 트래픽 혼잡상황 해결</div><div><br><br></div><div>&nbsp;모든 control은 연관되어있다.&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-17 13:55:33 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2343267889</guid>
      </item>
      <item>
         <title>C1 김하은</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2343413003</link>
         <description><![CDATA[<div>Chapter 5. Network Layer &amp; IP<br><br>&lt;Network Layer Services&gt;<br>- sender가 보낸 메시지를 receiver가 안전하게 받음<br>&nbsp;- header : 주소(IP Address, 보내는 주소, 받는 주소) -&gt;router(입력받아서 forwading 출력 방향 결정)<br><br>&lt;Network Layer&gt;<br>2 key function<br>1) forwarding (입력 받아 전달)<br>2) routing (전달 방향 결정, 라우팅 테이블O)<br><br>&lt;Taxonomy of Networks(network core)&gt;<br>1) 1~2세대 : circuit-switched networks<br>유선 전화 방식 : 미리 전화선(회선, circuit)을 예약 -&gt; 예약 완성 -&gt; 통화 -&gt; 끝났다는 메시지 -&gt; 취소(끊김)<br>- circuit establishment, data transfer, circuit termination<br>장점 : 예약 -&gt; real time으로 긴 시간 전화할 때 좋음, delay 없음<br>단점 : 낭비<br>2) 3세대 : packet-switched networks<br>미리 커넥션 없이 쪼개서(패킷 단위) 보냄 -&gt; 중간에 밀리게 되면 다른 경로로 갈 수 있음(받는 순서 달라짐, but, 상관 없음)<br>buffer 클 필요 없음(시간 단축), pipe-lining<br>무조건 잘게 자르면 좋을까? 아님, 짧은 메시지에 비해 header가 많아짐(시간 더 오래 걸림)<br>message switching : 메시지 바로 보냄, 길면 한번에 보낼 때 오래 걸림, 저장되어있는 buffer의 사이즈 커야됨<br><br>&lt;routing algorithms&gt;<br>라우터가 스스로 만듦(라우터 테이블), 이웃한 노드까지 가는 경로만 아는 상태<br>cost가 제일 적은 경로<br>1) link state routing<br>- dijkstra's 알고리즘 기반<br>- 각 노드는 전체 네트워크 topology를 아는 상태<br>2) distance vector routing<br>- bellman-ford 알고리즘 기반<br>- 이웃 노드랑만 데이터 주고받음<br>autonomous system에서 대표 라우터 선정 -&gt; 대표 라우터끼리 라우팅 테이블 만듦<br><br>&lt;IP addresses&gt;<br>- 버전4 : 32 bit(4바이트)의 IP address<br>host 부분 + network 부분<br>class A ~C(주로 사용) + D(멀티캐스트), E(미래 사용)<br>net id : 기관의 IP + host id: 컴퓨터에 할당<br>subnet addressing : host id 일부 -&gt; 기관에서 네트워크 세분화하여 사용<br>- subnet mask<br>문제<br>- 폭발적 성장 -&gt; 고갈 문제 -&gt; IPv6(장기적, 새로운 버전)<br>-shortterm : host id의 크기가 중간이 없음 -&gt; CIDR : class에 상관 없이 200.23.16.0/27(슬래쉬)<br>- DHCP : 임시 IP address 사용 -&gt; 반납<br>- NAT : IP 주소 하나에 많은 호스트 - 공적IP+사적(사설)IP<br>- NAT translation table : WAN side address(공적), LAN side address -&gt; 데스티네이션은 바꾸지 않음, sender를 바꿈 -&gt; 돌아올때는 데스티네이션(공적) -&gt; NAT router 데스티네이션(사적)<br><br>&lt;IP&gt;<br>IP format : header(20바이트) - version:ip버전<br>TIme To Live : 원래 시간 측정, 라우터 지날때마다 숫자 줄어듦<br><br><br>Chapter 6. Transport Layer<br><br>&lt;Transport Layer Protocols&gt;<br>sender가 보낸 것이 잘 도착했는지, 딜레이는 없는 지 등 확인<br>1) UDP<br>잃어버려도 상관없을때<br>no frill, bare bones : 장식X&nbsp;<br>best effort : 노력은 해보겠지만, 전달 안될 수도<br>connetionless : 미리 센더와 리시버 컨택X<br>port number(반드시 있어야 함, 애플리케이션 구분), message =&gt; header 8바이트<br>ex) 중계방송(재전송해봐야 지난 시점)-화질이 별로여도, 끊겨도 괜찮을때<br>2) TCP<br>중요할 때, 순서 중요, 잘못전달된패킷 버림, 잃어버린 패킷 재전송<br>ex) 은행 송금<br>congestion control : 밀려서 제때 전송이 안되었을 때<br>- 트래픽이 몰려서 라우터가 넘치면 버퍼가 넘침<br>- slow start(타임아웃) : threshold값이현재값의 절반, 1로 떨어짐<br>- fast retransmit(타임아웃X) : dupack이 오면 앞이 문제고 뒤는 정상 -&gt;1로 떨어지지 않고, 현재값의 절반으로 떨어짐<br>end-to-end flow control : 센더와 리시버 사이의 보내는 속도, 받는 속도 조절<br>- 리시버 잘 받았으면 ack 패킷 보냄 : 리시버가 가능한 메모리스페이스 정보 포함해서 보냄 -&gt; 속도조절<br>1) stop-and-wait flow control : 하나씩 잘받았다고 ack 보냄<br>2) sliding-window flow contol : 여러개씩, 윈도우 사이즈가 오른쪽으로 이동<br>error control<br>1) stop-and-wait ARQ : 하나씩<br>- error-free operation<br>- lost data packet -&gt; timeout(일정 시간 안에 오지 않으면 ack가 안 옴, 다시 전송)<br>-lost ack timeout -&gt; timeout<br>2) Continuous ARQ<br>Go-back-n : 슬라이딩 윈도우 방식<br>- 만약 3번 안옴 : 3번부터 ack 버림, 3번부터 다시 보냄<br>- ack 1번 오고 중간 안오고 3번 옴 : 잘 받았다고 생각 -&gt; timeout 안함 / 단 timeout안에 3번 전송안되면 재전송<br>TCP 헤더 : 20바이트</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-17 15:07:36 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2343413003</guid>
      </item>
      <item>
         <title>c2 박승훈</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2343455952</link>
         <description><![CDATA[<div>5장<br>network layer services =라우터를 이용해 안전하게 메세지 전달<br>network layer services 종류=fowarding, routing<br>forwarding= 입력측 받아 출력을 보냄<br>routing= 어느곳으로 보낼지 주소를 보고 판단<br>networks 구분= 유선전화망 1세대=&nbsp; circuit-switched, ,3세대=packet-switched<br>circuit-switched 과정= 서킷 만들기-&gt;통화-&gt; 서킷 종료 (예약기능 존재 그러므로 장시간 통화시 딜레이x 하지만 체널 낭비)<br>message-switched = 예약기능 x, 바로 정보 보낼수 있음, 시간 오래걸림, 버퍼 사이즈 용량이 커야함<br>paket -switched = packet 나누어 정보를 보내 시간이 단축, 데이터 도착 순서가 바뀔수 있지만 최종 순서 제정리함<br>또한 너무 세분화 하는건 안좋음 이유=&gt;head=데이터 사이즈가 같아지면 시간이 더걸림<br><br>routing 알고리즘= 라우터가 스스로 게산해 최적에 경로 찾아줌<br><br>routing 알고리즘 종류= link state routing , distance vector routing&nbsp;<br>&nbsp;link state routing=&gt; dijkstras 알고리즘 = 모든 데이터 노드가 서로 cost 값을 인지해 tree 구성맵을 알고 있음<br>&nbsp;distance vector routing =&gt;bellman-ford 알고리즘=이웃 노드 정보를 교환해서 최적에 거리 계산<br><br>hierarchial routing= 많은 라우터중 축소하여 대표 라운터 선정<br>&nbsp;<br>ip address= net id, host id<br>ip address 종류 =class A,B,C,D,E<br>A= Net Id=7 Host Id=24<br>b= Net Id=14 Host Id=16<br>c= Net Id=21 Host Id=8<br>d= multicastaddress<br>e= teserved for future<br><br>서브 마스크=ID 몇비트인지 알수 있음<br><br>ip address 고갈문제점 해결 방안 =IPV6, CIDR(HOST addresses&nbsp; 조절 가능), nat</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-17 15:28:54 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2343455952</guid>
      </item>
      <item>
         <title>A3 이후현</title>
         <author>sltask0222</author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344027774</link>
         <description><![CDATA[<div>질문: (5장 슬라이드 54) 10.0.0.1과 10.0.0.2가 모두 같은 Destination을 향해 data를 보냈다면, 받을 때 누가 보냈는지를 어떻게 구분할 수 있는지, 숫자 3345, 5001과 연관된 것인지 궁금합니다.<br><br><strong>Chapter 5 Network Layer &amp; IP</strong></div><div>&nbsp; &nbsp;</div><div><strong>Network Layer Services_</strong></div><div>우편물이 우리 손을 떠나 미국으로 가게 하는 우편 시스템처럼, 네트워크는 sender가 보낸 데이터를 reciever 쪽으로 전달하는 데에 중요한 역할을 함. 이는 Protocol인 IP도 마찬가지. 편지를 보낼 때 보내는 사람과 받는 사람을 표기하듯이, 데이터(패킷)에도 head에다가 보내는 IP와 받는 IP를 표기함. IP는 전 세계 공통의 체계임.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Network Layer_</strong></div><div>라우터가 데이터를 받아서 출력 쪽으로 보내는 역할을 함. 근데 어느 쪽으로 보낼 것인데? 수신자 측 주소를 보고 그쪽으로. 이때 Routing을 하게 되는데, Routing이란 어느 곳으로 보낼지를 주소를 보고 판단하는 행위를 말함. 주소로 보내는 것은 Forwarding.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Taxonomy of Networks(Network core)_</strong></div><div>Network는 Circuit-switched 방식과 Packet-switched 방식으로 구분됨. Circuit-switched는 예전 휴대폰에서 사용하는 방식과 동일. 컴퓨터는 Packet-switched 방식임. 스마트폰도 3G부터 Packet-switched로.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Circuit switching_</strong></div><div>전화를 하기 위해 미리 사용할 회선을 예약함. 사용 예약을 요청하고(열고) (Circuit Establishment), 데이터를 전송하고(Transmission), 통화를 끊는 행위를 함(Circuit Termination). 데이터가 클 때는 약간의 오버가 발생할 수 있음. 장점은 서킷이 예약되어 있으므로 오랜 시간 통화하기에 아주 적합함. 그러나 채널의 낭비가 발생하는 것이 단점.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Message Switching_</strong></div><div>예약하는 절차 없이 메시지를 바로 보냄. 긴 메시지 보내는 데 시간이 오래 걸림.</div><div>&nbsp; &nbsp;</div><div><strong>Packet Switching_</strong></div><div>메시지를 짧게 잘라서 따로따로 보냄. 한쪽 길이 막히면 보내다가 다른 길로도 보냄. 그래서 도착 순서가 달라질 수 있음. 그러나 순서를 알아서 재정비하기 때문에 큰 문제가 되지 않음. 또 1번 패킷을 받으면 자기도 1번을 보내는 동시에 앞 순서로부터 2번 패킷을 받을 수 있음. 이러한 pipelining 덕분에 빠르게 전송하는 것이 가능함. 그런데 너무 잘게 쪼개면 packet에서 실제 data에 비해 header가 더 큰 영향을 미치기 시작하면서 오히려 data를 보내는 시간이 더 길어지기도 함.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Routing Algorithms_</strong></div><div>처음에 Data를 보낼 경로를 정하는 Routing Table이 굉장히 중요함. 이를 결정하는 것이 바로 Routing Algorithms. 그래프에서 각각의 node들 사이의 이동 cost를 비교하여 최적의 경로를 찾는 알고리즘은? 두 가지 방법이 있음.</div><div>(1) <strong>Link State Routing_</strong> 각각의 Node가 자신의 인접한 비용에 대한 정보를 서로서로 교환함. 모든 Node가 전체 경로의 모습을 알고 있음. 같은 Topology. 이후 <strong>Dijkstra’s Algorithm</strong> 사용함. Dijkstra’s Algorithm은 특정 출발점 A에서 다른 점들로 가는 Shortest path들을 계산해줌. 이를 활용해 Routing Table을 만들 수 있음.&nbsp;</div><div>(2) <strong>Distance Vector Routing_</strong> 각각의 노드들은 인접한 노드들과의 Cost만을 알고 있음. 이후 <strong>Bellman-Ford Algorithm</strong>을 활용함. 인접한 노드들로부터 해당 노드들의 Routing Table을 받아 자신과의 cost를 합산해 비교함. 다른 모든 노드들도 똑같은 방식으로 진행함.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Heirarchical Routing_</strong></div><div>근데 이 세상 모든 경로의 Routing을 이렇게 하기에는 너무나 힘이 듦. 그래서 현실적으로는 같은 단위(Autonomous System)마다 대표적인 Router를 선정한 뒤 대표 Router들 사이에서의 알고리즘을 만들고, 내부에서는 또 내부의 Routing Table을 만들자는 것.</div><div>&nbsp; &nbsp;</div><div>(5장 계속)</div><div><strong>IP (Internet Protocol)_</strong></div><div>IP addresses_ 그게 다섯 가지 class로 구분됨. 이 중 A, B, C개를 보게 될 것. Net ID란 어떤 기관에서 공통으로 사용하는 IP. Host ID는 그 다음 각 기관의 컴퓨터마다 사용하는 ID. Class A의 경우 Net ID는 7bit(128가지), Host ID는 24bit(2^24가지 가능). Class C는 Net ID 21bit(2^21가지), Host ID 8bit(256가지). Class B는 A와 C의 중간으로, 대부분의 기관에서 Class B를 사용함.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Subnet Addressing</strong>_</div><div>Host ID를 가지고 Subnet ID와 Host ID로 나누어 사용 가능. 건물마다 Subnet ID를 주자던가. 대표 라우터는 전체 네트워크를 나타냄. 예를 들어 141.223.0.0은 141.223.xxx.x 형태의 모든 것들에 대한 Routing Table을 가지고 있다는 의미임.&nbsp;</div><div>&nbsp; &nbsp;</div><div>한 조직에서 몇 개의 Subnet으로 나누었는지를 알기 위해 사용하는 것이 Subnet Mask.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>예시_</strong></div><div>IPv4주소 141.223.108.201</div><div>141.223 포항공대 전체 IP</div><div>108 인공지능연구원 3층</div><div>&nbsp; &nbsp;</div><div>서브넷 마스크 255.255.255.0</div><div>108에 해당하는 부분 전체를 다 Host ID로 사용하고 있음.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Problems of IP address scheme (class-ful addresses)_</strong></div><div>근데 점점 32bit만으로 이걸 해결하기에는 부족한 세상이 되어버렸음. 그래서 이를 어떻게 해결할 것인가? 그래서 나온 장기적 해결책이 IPv6임. 한편 단기적 해결책 중 하나인 CIDR을 보면</div><div>&nbsp; &nbsp;</div><div><strong>CIDR(Classless Inter-Domain Routing)_</strong></div><div>Class A, B, C의 분할 비율에 얽매이지 않고 27bit / 5bit 등의 형태로도 비율을 나눌 수 있음. 최근 많이 사용하는 방법. Network ID를 굉장히 가변적으로 활용.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>IP address를 얻는 방법?_</strong></div><div>(1) Manual configuration_수동으로 IP를 할당받음.&nbsp;</div><div>(2) DHCP(Dynamic Host Configuration Protocol)_임시의 IP를 할당받아서 쓰고 반납하는 방식. 스마트폰으로 어딘가를 갈 때 많이 쓰는 방식임.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>NAT(Network Address Translation)_</strong></div><div>할당받은 공적 IP는 하나인데, 라우터를 통해 local network 내에서 마음대로 사적으로 IP를 할당받아 사용할 수 있음. NAT translation table에서 destination의 IP는 그대로 두지만 sender의 IP를 공적 IP로 바꾸어줌. 답신이 오면 NAT translation table에 기록된 것을 보고, Destination의 공적 IP를 사적 IP로 바꾸어줌.</div><div>&nbsp; &nbsp;</div><div>질문: (슬라이드 54) 10.0.0.1과 10.0.0.2가 모두 같은 Destination을 향해 data를 보냈다면, 받을 때 누가 보냈는지를 어떻게 구분할 수 있는지, 숫자 3345, 5001과 연관된 것인지 궁금합니다.</div><div>&nbsp; &nbsp;</div><div><strong>IP(INternet Protocol)_</strong></div><div>다양한 Protocol들의 정의들.</div><div>ICMP: internet control message protocal. 제어시 사용.&nbsp;</div><div>IGMP: multicast를 위한 protocol</div><div>&nbsp;<br><br></div><div><strong>Chapter 6 Transport Layer_</strong></div><div><strong>&nbsp; &nbsp;</strong></div><div><strong>Transport layer protocols_</strong></div><div>Sender가 보낸 data가 destination에 잘 도착했는지, 에러가 발생했는지, 중간에 딜레이가 발생했는지 등 여러 가지 상황에 대해서 transport layer protocol이 일을 하게 됨. TCP와 UDP 두 가지 방식이 있음.</div><div>&nbsp; &nbsp;</div><div><strong>User Datagram Protocol(UDP)_</strong></div><div>아주 간단한 프로토콜. 잃어버려도 상관 없고 전송이 잘 되지 않아도 크게 상0관이 없는 Data를 보낼 때 사용. 운동 경기 영상 전송 등. “no frill” 살이 없다. “best effort” 노력은 해 보겠다. “connectionless” 미리 컨택하지 않고 그냥 바로 보내버린다. 조금 잃어버려도 상관 없는 스트리밍 멀티미디어 앱에서 많이 사용함. Header size가 8byte 밖에 되지 않음.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>Transmission Control Protocol(TCP)_</strong></div><div>전송이 잘 되어야 하는 아주 중요한 내용을 보낼 때 사용. 은행에서 정보를 보낼 때. “Congestion control” 막힘(Congestion)이 발생했을 때 어떻게 할 것이냐. “End-to-end Flow Control” Data를 보내는 속도를 조절. “Error Control” Error 발생 시. 실수가 용납되지 않음.</div><div>&nbsp; &nbsp;</div><div><strong>TCP (End-to-end) Flow Control_</strong></div><div>Sender와 Reciever 간에 성능 차이가 클 때 잘못해서 막 보내면 넘치는 경우(overflow) 발생. 따라서 속도를 조절해야. Reciever가 잘 받았다고 보내는 애크(ACK)를 기준으로 Sender는 속도를 조절할 수 있음.&nbsp;</div><div>(1) Stop-and_wait_ 하나 보내고 잘 받았어. 또 하나 보내고 잘 받았어 하는 방식. 잘 받았다고 ACK를 보냄. 근데 너무 비효율적이야. 너무 오래 기다려야 해.&nbsp;</div><div>(2) Sliding-window flow control_ 여러 패킷을 보내고 ACK가 올 때마다 다음 단계를 보냄. 예를 들어 pipelining의 경우. 동시에 여러 개를 보내는데, ex. 한번에 3개 보내고 첫 번째 것에 대한 ACK를 받으면 4번째 것 보내고. 이런 식이면 Stop and wait보다 효율이 3배는 좋음. window size가 오른쪽으로 이동한다. 이 때의 Window size = min{ receiver’s advertised window, congestion window }</div><div>&nbsp; &nbsp;</div><div><strong>Error Control_</strong></div><div>Error 발생 여부에 따른 대응. 주로 Continuous ARQ 중 Go-Back-N이 많이 쓰임.</div><div><strong>(1) Stop-and-Wait ARQ_</strong></div><div><strong>1)</strong> Error-free operation_ 1개 보내고 1개 잘 받고. Stop-and_wait와 비슷</div><div><strong>2)</strong> Lost data packet_ 만약 reciever가 segment를 받지 못하면? sender는 ACK를 기다리지만 ACK는 오지 않음. 이를 해결하기 위해 timeout을 사용함. 일정 시간 ACK를 받지 못하면 해당 segment를 다시 전송함(retransmission). 이때 타임아웃 시간은 충분해야한다(Timeout value &gt;= 2t_p + t_proc + t_ACK).</div><div><strong>3)</strong> Lost ACK timeout_ ACK packet이 사라진 경우. timeout retransmission에 의해 같은 segement가 한 번 더 보내짐. 그러면 아 ACK가 제대로 전송되지 않았구나 하여 ACK를 다시 보냄.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>(2) Go-Back-N_</strong></div><div><strong>1)</strong> Error-free-operation_ 에러가 발생하지 않는 경우</div><div><strong>2)</strong> Corrupted data packet_ 보내는 도중 3번 segment가 오지 않는다면? reciever는 그 뒤부터 쭉 그냥 버려버림(discard). 그러면 ACK가 가지 않기 때문에 time-out에 의해 sender는 3번부터 다시 보내게 된다.&nbsp;</div><div><strong>3) Corrupted ACKs_ </strong>ACK가 사라지는 경우_ (a) 1번 2번에 해당하는 ACK가 오지 않았는데 3번에 해당하는 ACK가 온다면? Sender는 전혀 문제가 없다고 생각하게 됨. 3번이 왔다는 얘기는 1 번 2번도 잘 받았다는 의미이기 때문(ACKs are cumulative). (b) time-out이 걸리는 경우는 ACK를 받지 못한 번호부터 다시 보내게 됨.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>TCP segment Format_</strong></div><div>Header를 보면 UDP가 8byte였던 것에 비하면 얘는 4bytes로 충분히 더 크다.&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>TCP Congestion Control_</strong></div><div>Network도 traffic이 몰리면 congestion 발생. 근데 문제를 나서서 해결해주는 경찰이 없음. TCP에서는 모든 사용자가 함께 해결해야하는 문제라고 여기고 congestion protocol을 사용함. 그런데 맨 처음에는 무선이 아닌 유선을 기준으로 생각했는데, 유선이므로 packet loss by transmission media는 잘 발생하지 않는 것으로 간주하고 라우터가 넘치는 경우만을 가정함.&nbsp;</div><div><strong>1) Congestion control by timeout(TCP Taeho)_</strong> timeout을 사용하여 congestion을 해결함(*Slow Start*). 처음에는 window size가 1. ACL이 잘 오면 2, 4, 8..가 됨. 미리 설정된 threshold까지. 해당 threshold 이후로는 linear하게 생각함. ex_ ssthresh=8이라면 9, 10, 11, 12, ... 그러다가 Timeout에 의해 packet이 오지 않으면 현재 windowsize(= cwnd)의 반부터 다시 linear하게 시작함. (cwnd/2)가 새로운 ssthreshold가 됨. 1, 2 ,4, ..., 2^n, new_ssthreshold, new_ssthreshold+1, new_ssthreshold+2, ...</div><div><strong>2) Fast Retransmit_</strong> Timeout이 오기 전에 처리함. dupack이란 앞의 packet에 해당하는 ACK가 오지 않았으나 뒤의 ACK은 도착하는 경우(Corrupted ACKs 참조). 3dupack 발생시 cwnd의 반으로 바로 떨어진 뒤 linear하게 증가함.&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-17 21:57:18 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344027774</guid>
      </item>
      <item>
         <title>B1 오수민</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344300922</link>
         <description><![CDATA[<div>5-1장.</div><div>[Network Layer]</div><div>-Sender of packet &gt; Recipient of packet 으로 전송한다.</div><div>-데이터 전송 시 패킷의 헤더에 IP address(받는 호스트, 보내는 호스트)를 붙여서 전송한다.</div><div>-기능 : forwarding(입력과 출력 보내기), routing(어디로 보낼 지 주소를 보고 판단)<br><br></div><div>-네트워크 구분&nbsp;</div><div>1)Circuit-switched networks : circuit establishment(예약) -&gt; 전화 -&gt; circuit termination(연결해제) / 장점 : 오랜시간 전화하기에 좋음, 단점 : 채널의 낭비가 있음</div><div>2)Message switching : 메시지를 작은 메세지(헤더+메시지일부) 로 잘라서 전송. 작은 메시지 전송이 밀리면 다른 경로로 가서 리시버에 순서가 다르게 도착하고&nbsp; 순서 재정비 해서 전송함. / 단점 : 메시지가 크면 재정비 시간이 오래 걸림.</div><div>3)Packet-switched networks : 3세대부터 사용. 메시지를 패킷(헤더+메시지일부)으로 잘라서 전송, 패킷 순서대로 막힘없이 전송. 무조건 작게 자른다고 좋은건 아님.</div><div><br></div><div>-routing table을 어떻게 만들지 ? = routing algorithms : 목적지로 가는 최적의 경로를 찾음. Cost가 가장 작도록.</div><div>1)Link State routing : 각 노드가 자신의 cost를 교환함. 그래서 모든 노드가 같은 topology를 생성함. Dijkstra’s Algorithm 경로에 대한 모든 이동 경로 cost를 계산. 노드를 하나씩 연결하면서 최소의 cost가 되는 경로를 만듬.</div><div>2)Distance vector routing : 어느 거리를 가는데에 걸리는 시간이 얼마인지에 따라 경로 결정, Bellman-Frod 알고리즘 / 만약 J시작점, B로 가자. JA,JI,JH,JK 정의됨+AB,IB…도 정의됨 =&gt; JA+AB로 계산</div><div><br></div><div>-Hierarchical routing : routing table은 시간소모가 큼 -&gt; 그래서 inter-AS routing protocol(대표 라우터 선정해서 routing table만들고 별도로 내부 routing table도 만듬)을 사용.<br><br></div><div>5-2장.</div><div>[IP(Internet protocol)] : routing 알고리즘을 구현하는 프로토콜</div><div>-IP address : 전세계적으로 32bit의 IP주소를 사용함.</div><div>-Net ID : 기관에서 구매하여 사용하는 IP</div><div>-Class A~E : (A) net 7 / host 24 (2^7개의 기관이 구매가능)-&gt; (B) net 14 / host 16 (사람들이 가장 많이 구매함) -&gt; (C) net 21 / host 8 -&gt; mulicast address -&gt; reserved for future use</div><div>-Subnet Addressing : net ID을 사고 host ID를 bit 크기별로 쪼개서 사용가능. (기관이 원하는 대로 분리가능)</div><div>-Subnet mask</div><div>-IP의 문제점 : 인터넷이 발전하면서 IP 주소가 고갈됨. (해결책) IPv6</div><div>-CIDR : IP주소를 할당하는 방식, Prefix length에 따라 host 주소의 수가 달라짐.</div><div>-IP 할당 방식 : manual configuration, DHCP(임시 주소 할당받고 사용 후 반납), <strong>NAT</strong>(rest of internet+local network(개인))</div><div>-IP는 다양한 프로토콜로 만들어짐, IP network 계층 : application layer, transport layer(TCP, UDP), network layer(ICMP, IP,IGMP), data link layer(ARP, RARP)<br><br>6장.</div><div>[Transport Layer]</div><div>Sender와 receiver 사이에 데이터 전송이 이루어짐. 데이터의 올바른 전송유무를 확인.<br><br></div><div>[TCP] : 전송이 무조건 제대로 이루어져야 할 때 사용, (in-order/방해 패킷은 삭제/놓친 패킷은 재전송/흐름 컨트롤)</div><div>-하는 일 : congestion control, end-to-end flow control, error control</div><div>-TCP flow control : 리시버가 처리할 능력이 없으면 버퍼 증가 -&gt; sender가 보내는 속도를 조절함. 데이터를 잘 받으면 보내는 패킷 = ack</div><div>&nbsp; 1)하나씩 보내는 방식 : stop-and-wait flow control = 하나 보내고 ack 오기를 기다림. Ack 오면 다음 segment 보냄 / 비효율적 à pipelining으로 진행(여러 개를 보내고 ack 오면 하나 더 보내기)하면 효율이 증가함,</div><div>&nbsp; 2)sliding-window flow control : 패킷이 올 때마다 윈도우 사이즈를 보내는 것. (가장 작은 값으로 보냄)</div><div>-Error control : stop-and-wait ARQ (ARQ, Classification)&nbsp;</div><div>&nbsp; 1)error-free operation&nbsp;</div><div>&nbsp; 2)lost data operation =&gt; sender는 일정 시간안에 ack를 받지 않으면 재전송함.&nbsp;</div><div>&nbsp; 3)lost ack timeout : 리시버 입장에서 신호가 다시 오면 ack만 보냄.</div><div>-Go-Back-N ARQ&nbsp;</div><div>1)error-free operation&nbsp;</div><div>2)corrupted data packet : 에러가 나면 그 번호로 돌아가서 뒤 패킷을 다 보냄,&nbsp;</div><div>3)corrupted ACKs : ack 0을 받고 ack3만 받았다 해도 작업은 그대로 진행됨. 왜냐면 1,2는 받아서 지금 3을 받은 거라고 생각하기 때문에</div><div>-TCP congestion control : 받는 데이터가 많아서 라우터가 넘치면 트래픽의 개수를 줄이는 방법을 택함.&nbsp;</div><div>1)Timeout&nbsp;</div><div>2)3 duplicate acks&nbsp;</div><div><br></div><div>[UDP] : 간단한 프로토콜, 전송이 제대로 이루어지지 않아도 되는 경우 사용. Sender와 receiver의 컨택없이 바로 전송함.&nbsp;<br>-하는일 : port num은 꼭 필요, header size가 8byte밖에 되지 않음.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 02:19:07 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344300922</guid>
      </item>
      <item>
         <title>B4 김현서</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344344033</link>
         <description><![CDATA[<div><strong>5-1장</strong><br><br>Network layer<br>&nbsp; &nbsp;: sender가 보낸 데이터를 안전하게 receiver쪽에 제대로 전달하게 만드는 중요한 역할</div><ul><li>Routing : 데이터를 어느 곳으로 보내야 할지 주소를 보고 판단</li></ul><div><br>Circuit switching</div><ul><li>옛날 전화 방식</li><li>전화를 하고 싶은 사람이 받을 사람한테 번호를 누르면 미리 회선(Circuit)을 예약해서, 예약이 완성되면 통화 시작 / 통화가 끝나면 끝났다는 메시지가 와서 예약했던 회선을 끊음</li><li>Circuit을 만들고, 통화를 하고, Circuit을 끊는 3가지 행위</li><li>장점 : 한번 Circuit이 예약이 되기 때문에 real-time으로 오랜 시간 통화할 때 좋음, delay 없음</li><li>단점 : 3가지 행위로 인해 채널에 낭비 존재</li></ul><div><br>Message Switching<br>&nbsp; &nbsp;: 미리 Circuit을 만들거나 끊는 행위 없이 바로 메시지를 보내는 방식</div><ul><li>메시지가 길어지면 시간 오래 걸림</li><li>메시지가 크면 라우터에 저장돼있는 버퍼의 사이즈가 커야 함</li></ul><div><br>Packet switching<br>&nbsp; &nbsp;: 패킷을 보낼 때, 미리 Connection없이 긴 메시지를 패킷 단위로 쪼개서 보내는 방식</div><ul><li>데이터의 사이즈와 헤더 사이즈가 비슷해지면 오버헤드가 되므로, 무조건 잘게 쪼개는 게 좋은 것은 아님</li></ul><div><br>Routing Algorithms<br>&nbsp; &nbsp;: 라우터들 각자가 스스로 계산 (destinate router)<br><br>Link State routing algorithm</div><ul><li>Dikstra's Algorithm을 사용해서 계산</li><li>각각의 노드가 알고 있는 이웃한 노드의 cost를 서로 교환 -&gt; 모든 노드가 topology가 어떻게 구성된 지 알게 됨 -&gt; 각각의 노드가 이걸 가지고 shortest routing algorithm을 돌림</li></ul><div><br>Distance vector routing algorithm</div><ul><li>Bellman-Ford Algorithm 사용</li><li>자신의 이웃들과 이웃한 노드로부터 각자의 라우팅 테이블을 받아서 최단 거리 계산&nbsp;</li></ul><div><br>Hierarchical routing</div><ul><li>각각의 AS(Auto-normal System)에서 대표 라우터를 선정하고, 대표 라우터들끼리만 라우팅 테이블을 주고받아서 라우팅 알고리즘을 만듦</li><li>AS 내부에서는 또 내부의 라우팅 테이블을 만듦</li></ul><div><br><strong>5-2장. IP(Internet Protocol)<br></strong><br>IP Addresses<br>&nbsp; &nbsp;: Ip Addresses를 가지고 어떤 단말인지를 알 수 있게 됨<br>Dotted Decimal Notation<br>&nbsp; &nbsp;: 32 bit를 8 bit씩 쪼개서 10진수로 쓰는 것<br><br>Subnet Addressing<br>&nbsp; &nbsp;: Host ID 부분을 가지고 세부 네트워크로 쪼개서 쓰는 것<br><br>Subnet mask<br>&nbsp; &nbsp;: 한 기관에서 IP Address를 몇 bit로 쪼갰는지 알 수 있도록 한 것</div><ul><li>1 : Net ID, subnet ID</li><li>0 : host ID</li></ul><div><br>IP address 부족 문제 해결 방안</div><ul><li>IPv6</li><li>CIDR<br>&nbsp; &nbsp;: 네트워크 ID 부분을 가변적으로 해서 class B와 C 사이에서도 다이나믹하게 나눌 수 있도록 한 것&nbsp;</li><li>NAT(Network Address Translation)</li></ul><div>&nbsp; &nbsp; &nbsp; : IP address 하나를 가지고 많은 호스트를 연결할 수 있는 방식</div><div><br>IP address 할당 방법</div><ul><li>Manual configuration</li><li>DHCP(Dynamic Host Configuration Protocol)</li></ul><div>&nbsp; &nbsp; &nbsp; : 임시 IP address를 할당받아서 거기서만 쓰고 반납하는 방식<br><br>Network Layer</div><ul><li>ICMP(Internet Control Message Protocol) : 망 관리, 네트워크 컨트롤</li><li>IP : 실제 통신에 사용</li><li>IGMP(Internet Group Message Protocol) : 멀티캐스팅을 하기 위한 프로토콜</li></ul><div><br><strong>6장. Transport Layer<br></strong>: Sender가 보낸 것이 Destination에 잘 도착했는지, 중간에 에러가 났는지, 트래픽이 몰려서 delay가 있는지 등 여러가지 상황에 대한 일을 함<br><br>UDP</div><ul><li>데이터를 조금 잃어버려도 상관없고, 전송이 제대로 안돼도 큰 문제가 없는 경우 사용</li><li>미리 sender와 receiver가 contact을 하지 않고 바로 보내버림&nbsp;</li></ul><div>TCP</div><ul><li>속도보다는 정확해야 하는 중요한 트래픽을 전송할 경우 사용</li><li>잘못 전달된 패킷은 버려야 됨</li><li>패킷이 전송 중 사라지면 재전송</li></ul><div>=&gt; 트래픽 종류에 따라 TCP/UDP 나눠서 사용</div><ul><li>Congestion control</li></ul><div>&nbsp; &nbsp; &nbsp; : sender가 데이터를 보냈는데 traffic congestion 때문에 제때 전송이 안됐을 때 어떻게 할건지에 대한 문제</div><ul><li>Flow control</li></ul><div>&nbsp; &nbsp; &nbsp; : sender와 receiver 사이에 보내는 속도와 받는 속도를 조절하기 위해 사용 &nbsp;</div><ul><li>Error control</li></ul><div>&nbsp; &nbsp; &nbsp; : 패킷이 가다가 중간에 noise 등에 의해 에러가 발생했을 때의 문제를 다룸<br><br>TCP Flow control</div><ul><li>Stop-and-wait&nbsp;</li></ul><div>&nbsp; &nbsp; &nbsp; - 너무 오래 기다려서 비효율적</div><ul><li>Sliding-window</li></ul><div>&nbsp; &nbsp; &nbsp; : 여러 패킷을 보내고, 패킷을 받는대로 window size를 움직여서 다음 패킷을 받는 방식</div><div><br></div><div>TCP Error Control</div><ul><li>Stop-and-Wait ARQ</li></ul><div>&nbsp; &nbsp; &nbsp; - Lost data packet : 일정 시간 안에 ACK을 받지 못하면 재전송<br>&nbsp; &nbsp; &nbsp; - Lost ACK timeout : timeout이 걸리면 재전송해서 ACK를 다시 보냄</div><ul><li>Go-Back-N ARQ</li></ul><div>&nbsp; &nbsp; &nbsp; : 에러가 나면 그 번호로 돌아가서 그때부터 나머지 패킷을 다 보내는 방식</div><div>&nbsp;<br>TCP Congestion Control<br>&nbsp; &nbsp;: 패킷이 lost돼서 Congestion에 의한 패킷 drop이라고 생각되는 경우, 보내는 window size를 조절함으로써 Congestion 문제 해결</div><ul><li>Slow start</li></ul><div>&nbsp; &nbsp; &nbsp; : window size가 미리 설정된 값까지 2^n승으로 증가하다가 threshold를 넘어가면 linear하게 증가하고, timeout에 의해 패킷이 오지 않으면 threshold 값이 현재 값의 반으로 바뀌면서 1부터 다시 증가</div><ul><li>fast retransmit</li></ul><div>&nbsp; &nbsp; &nbsp; : 앞 패킷은 사라졌지만 뒤 패킷들이 잘 들어온 경우(defect)에는 현재 값의 반으로 떨어져서 linear하게 증가하는 방식<br><br>&nbsp;<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 02:54:51 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344344033</guid>
      </item>
      <item>
         <title>A1 김민석</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344347266</link>
         <description><![CDATA[<div>5-1장<br><br>1. Network layer services<br>&nbsp;- 데이터 전송시 패킷의 헤더에 ip주소 저장<br>&nbsp;- 라우터를 통해 다른 호스트로 패킷 전송<br><br>* 네트워크 방식 2가지<br>1) circuit switch<br>&nbsp;- 전화통신<br>&nbsp;- 미리 회선을 예약하여 통신<br>&nbsp;- 통신 끝나면 예약한 회선 끊음<br>&nbsp;- 장점 : 오랜시간 전송가능<br>&nbsp;- 단점 : 미리 회선을 예약하기 때문에 낭비생김<br><br>2) packet switch<br>&nbsp;- message switch(packet switch의 일종)<br>&nbsp;- 데이터를 패킷단위로 끊어서 전송<br>&nbsp;- 라우터를 통해 다양한 회선으로 데이터 전송<br>&nbsp;- 패킷의 저장 단위를 너무 작게 잡으면 전송 시간이 오래걸림<br><br>&nbsp;* 송수신 방법(routing algorithms)<br>&nbsp;- 라우터 사이의 node의 cost 계산<br>&nbsp;- cost = 비용, 시간 등<br>&nbsp;- 최적의 cost를 찾아 해당 경로로 전송<br><br>&nbsp;1)Link satae routing(Dijkstra's Alg)<br>&nbsp;- 해당 지점에서 low cost 라우터 지정<br>&nbsp;- 이동후 이동한 곳에서 인접한 경로 계산<br>&nbsp;- 이전 결과값과 비교한 후 최적의 경로 계산<br>&nbsp;- 계속해서 반복 -&gt; shortest path 생성<br>&nbsp;- 모든 라우터들 끼리 정보 공유<br><br>&nbsp;2)distance vector(bellman ford Alg)<br>&nbsp;- 인접한 라우터만 지정 -&gt; low cost선택<br>&nbsp;- 이동한 라우터에서 인접한 라우터의 low cost선택<br><br>5-2장<br>1. IP Address<br>&nbsp;- subnet mask로 동일 ip정보 구분함<br>&nbsp;- CIDR : ip을 다양하게 할당하는 방법<br><br>2. NAT<br>&nbsp;- 부족한 ip address를 nat network를 통해 새롭게 할당함<br><br>6장<br><br>1. TCP<br>&nbsp;- congestion control <br>&nbsp;- end to end flow control : 송수신 속도 조절<br>&nbsp;- Error control<br>1) error-free operation<br>&nbsp;- 수신한 후 일정시간동안 ack를 받지 못하면 재전송<br><br>2) go -back-n<br>&nbsp;- slid window방식 사용<br>&nbsp;- error발생시 발생지점으로 돌아가서 지점부터 남은 데이터까지 다 전송<br>&nbsp;- time out 값에 따라 ack여부 다름<br><br>2. UDP<br>&nbsp;- 송수신자가 즉각적으로 정해짐<br>&nbsp;- 패킷 손실시 대처 x</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 02:57:20 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344347266</guid>
      </item>
      <item>
         <title>C4 송준희</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344349168</link>
         <description><![CDATA[<div>5장 및 6장<br>1. Network Layer<br>&nbsp; &nbsp;: Forwarding : 입력과 출력 보내기<br>&nbsp; &nbsp;: Routing : 주소를 확인하고 보낼 위치를 결정<br><br>2. Network의 구분<br>&nbsp; &nbsp;1) Circuit Switched<br>&nbsp; &nbsp;2) Message Switched<br>&nbsp; &nbsp;3) Packet Switched<br><br>Packet Size에 따른 효과<br>&nbsp; &nbsp;: Data Size와 Head Size가 비슷한 Over Head가 되면 Time이 오히려 증가함<br><br>3. Router Algorithms<br>&nbsp; &nbsp;1) Link state algorithms<br>&nbsp; &nbsp;2) Distance vector algorithms<br><br>4. IP : Host + Net<br>&nbsp; &nbsp;: 5개의 class로 구분되며,<br>&nbsp; &nbsp;Class B를 많이 사용한다.<br>&nbsp; &nbsp;: Subnet Addressing<br>&nbsp; &nbsp; &nbsp;Host를 나누어 주는 기능<br>&nbsp; &nbsp;: IP 주소를 host가 받는 방법<br>&nbsp; &nbsp;1) Manual configuration<br>&nbsp; &nbsp;2) DHCP<br><br>5. Transprot Layer<br>&nbsp; &nbsp;: Sender와 Receiver 간의<br>&nbsp; data 전송시, data가 정확히<br>&nbsp; 송수신 되었는 지를 확인<br><br>&nbsp; &nbsp;: UDP : 일부가 유실되어도&nbsp;<br>&nbsp; &nbsp;큰 문제가 되지 않는다.<br><br>&nbsp; &nbsp;: TCP<br>&nbsp; &nbsp; - congestion control<br>&nbsp; &nbsp; - end to end flow control<br>&nbsp; &nbsp; - error control<br><br>&nbsp; &nbsp;: TCP Flow Control<br>&nbsp; &nbsp;: TCP Error Control<br>&nbsp; &nbsp;: TCP Congestion Control</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 02:58:48 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344349168</guid>
      </item>
      <item>
         <title>B1 신중현</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344351027</link>
         <description><![CDATA[<div>질문.&nbsp;<br><br>1. link cost를 결정하는 요인은 무엇인가요?<br><br></div><div><br>강의.</div><div>Packet : 네트워크가 전달하는 데이터의 형식화된 블록.</div><div>network Layer.</div><div>&nbsp;</div><div>message switching</div><ul><li>no call set-up procedures</li><li>considerable queueing delay</li></ul><div>&nbsp;</div><div>packet switching</div><ul><li>message is divided in to smaller portioions called packets</li></ul><div>pipelining</div><div>&nbsp;</div><div>&nbsp;</div><div>forwarding - moving packets from router input to output</div><div>routing - determining a route taken by packets from source to destination</div><div>&nbsp;</div><div>&nbsp;</div><div>routing algrithms : making routing table.</div><ul><li>what is optimal path?</li><li>how define cost?</li></ul><div>&nbsp;</div><div>two routing algorithms</div><ul><li>link state routing : calculating based on dijkstra’s algorithms</li><li>distance vector routing : bellman-ford algorithm</li></ul><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>IP addresses - 5 classes</div><div>&nbsp;</div><div>class = Net ID + Subnet ID + Host ID</div><div>&nbsp;</div><div>lack of ip address -&gt;&nbsp;</div><div>solution : 1. long term solution IPng (IPv6)&nbsp; 2. short term sol = CIDR ,&nbsp;</div><div>&nbsp;</div><div>CIDR (classless inter-domain routing) : IP address 할당한느 방식 : class 에 상관없이 네트워크 파트와 호스트 파트를 정함.</div><div>&nbsp;</div><div>DHCP (dynamic host configuration protocol )</div><div>&nbsp;</div><div>NAT ( network address translation)</div><div>&nbsp;</div><div>WAN side address / LAN side address&nbsp;</div><div>&nbsp;</div><div>UDP (user datagram protocol)</div><ul><li>No ACK, NO retransmissions &nbsp;</li></ul><div>&nbsp;</div><div>TCP( transmission control protocol)</div><ul><li>속도보다 정확해야함.</li><li>Implements congestion control,&nbsp; flow control,&nbsp; error control , etc.</li></ul><div>&nbsp;</div><div>TCP flow control</div><div>sender , receiver speed control. &nbsp;</div><div>&nbsp;</div><div>TCP congestion control - 유선네트워크를 가정해서 만듬.</div><div>&nbsp;</div><div><a href="https://blog.naver.com/ndb796/221234424646">https://blog.naver.com/ndb796/221234424646</a></div><div>&nbsp;</div><div>Dijkstra algo</div><div>&nbsp;</div><div>C(x,y) : link cost of x,y , if 두노드가 연결 x -&gt; 값 무한대</div><div>D(v) : 현재 반복시점 v까지의 min path cost</div><div>P(v) : v까지의 현재 최소 비용 경로에서 v의 직전 노드</div><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 03:00:10 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344351027</guid>
      </item>
      <item>
         <title>A3 이유민</title>
         <author>youmin3685</author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344414149</link>
         <description><![CDATA[<div>5장 Network Layer &amp; IP<br><br>5-1강) Network Layer <br><br>-<strong>Network Layer Services의 역할</strong> <br>: IP = Network layer의 프로토콜 network layer는 sender의 데이터가 receiver에게 정상적으로 전달되도록 한다. <br>Sender -&gt; data(IP address) -&gt; router network -&gt; receiver <br>Forwarding : sender에게 받은 데이터를 앞으로 보내는 역할 <br>Routing : 받은 데이터의 주소를 보고 맞는 direction을 지정해주는 역할 <br>- 네트워크 방식:<br>1. circuit-switched networks :<br>과거의 유선 통화 방식 / 3가지 행위로 구성 <br>-circuit 생성 <br>-데이터 전달 <br>-circuit 제거 <br>장점 : circuit을 열어놓고 통신하기 때문에 데이터를 오래 주고 받을 때 좋음 <br>단점 : 공간의 낭비&nbsp; <br><br>2. Packet-switched networks :<br>별도로 자원을 미리 할당하는 과정이 존재하지 않고 데이터를 packet으로 잘라 파이프라인 형식으로 각각 전송 / 잘려진 데이터는 각각 독립적으로 전송되며 모든 packet이 전달되면 re-ordering과정이 필요하다.<br><br>단 packet을 잘게 짜른다고 항상 좋은 것은 아님. 너무 잘게 자르면 header가 많아져서 시간이 오히려 많이 소요. <br><br><mark>***Routing algorithm***</mark><br>각각의 router는 routing table을 갖는다. 이를 만드는 과정 <br>1. <strong>Link state routing</strong><br>Dijkstra's algorithm에 기반을 두고 계산<br> -<mark>Dijkstra's algorithm </mark>: 각각의 노드는 각각의 노드로 가는 costs와 위치 정보를 공유한다. <br>-&gt; 모든 노드가 똑같은 노드 정보를 공유 <br>-&gt; 시작점에서 가장 작은 cost의 노드를 선택 -&gt; 해당 노드에서 갈 수 있는 모든 경로 값을 계산하고 또 최저값 cost의 노드를 선택<br>-&gt;&nbsp; 모든 노드에 대해 최저값은 계속 갱신<br><br>2. <strong>Distance vector routing </strong><br>Bellman-Ford Algorithm에 기반하여 계산 <br>-Bellman-Ford Algorithm : 전체 노드가 cost정보를 공유하지 않고 이웃 노드끼리만 공유<br>이웃 노드는 주변 노드가 아닌 연결되어 있는 노드를 뜻함<br><br>-Hierarchical routing <br>: 전체 테이블에 대한 라우팅 테이블을 만드는 것이 아닌 라우터 묶음의 대표 라우터끼리만 라우팅 테이블을 만들고 각 묶음끼리 내부에서 라이팅 테이블을 또 구성하는 구조 <br><br>5-2강 IP<br><br>-IP address는 Host, net 부분으로 나뉨 <br><br>-IP address는 5가지 class로 구분 <br>Net ID : 기관이 사용 <br>Host ID : 기관 밑의 각각의 기기들 <br>가장 많이 사용하는 것은 Class B <br>Class A : 0 + Net ID(7bit) + Host ID(24bit)<br>0.0.0.0 ~ 127.255.255.255<br>Class B : 1 + 0 + Net ID(14) + Host ID(16)<br>128.0.0.0 ~ 191.255.255.255 <br>Class C: 1+1+0+Net ID(21) + Host ID(8) <br>192.0.0.0 ~ 223.255.255.255<br>Class D<br>Class E <br><br>Host ID를 잘라서 Subnet 부분을 만들어서 사용하는 것이 더 효율적. <br>141.223.0.0 = 뒤에 0 이 2개 붙는것을 대표 라우터 주소 <br><br>-Subnet mask: subnet ID를 몇비트 사용했는지 알기 위해 <br><br>=&gt; IP가 너무 많이 쓰임에 따라 IP 주소가 점점 부족한 문제가 발생 -&gt; solution <br>-IETF solutions : IPv6, CIDR <br>-NAT<br><br>-CIDR : IP class에 상관없이 a.b.c.d/x 형태를 만들어서 보다 더 다양한 공간을 사용 가능 <br><br>-IP 주소를 host가 받는 방법 <br>1. Manual configuration : 아예 하나를 주는 방식(desktop PC) <br>2. DHCP : 정규 주소가 아닌 임시 주소를 할당해 정해진 공간에서만 사용하고 반납하는 방식(smartphone) <br><br>-<strong>NAT(Network Address Translation)</strong><br>: Ip 주소 하나에 많은 host를 연결하는 방식&nbsp;<br>공적으로 할당받은 IP내에서 라우터가 임의로 할당하는 사설 IP를 만들어내 많은 host가 사용가능하게 해주는 방식.&nbsp;<br><br>1. 호스트가 할당받은 사설 ip를 라우터에 보냄&nbsp;<br>2. 라우터가 이를 공적 ip로 전달&nbsp;<br>3. NAT 테이블에 기입 후 공적인 IP로 변환하여 table을 참고&nbsp;<br>4. 테이블에 적힌 정보를 토대로 다시 host에 정보를 전달&nbsp;<br><br><br>-ICMP(Internet Control Message Protocol)<br>에러 메시지 같은 정보들을 IP layer와 함께 알리는 역할&nbsp;<br>-IGMP(Internet Group Management Protocol)<br><br><br>6장 Transport layer&nbsp;<br><br>-Transport layer protocol&nbsp;<br>정보를 주고 받음에 있어서 문제가 있는지 없는지 확인하는 프로토콜&nbsp;<br><br>-UDP</div><ul><li>간단한 프로토콜&nbsp;</li><li>잘 전달되지 않아도 되는 프로토콜 &nbsp;</li><li>화질이 찌그러지고 사운드가 조금 망가져도 상관없을 때</li><li>sender와 receiver간에 사전 약속이 없음&nbsp;</li></ul><div><br>-UDP segmant format <br>: port num / message length / checksum <br>header size = 8바이트 =&gt; 간단한 구성 <br><br><br><strong>-TCP(Transmission Control Protocol)&nbsp;</strong></div><ul><li>실수가 용납되지 않는 프로토콜</li><li>중요한 정보 전달</li><li>잃어버리면 재전송&nbsp;</li><li>congestion control&nbsp;</li><li>end-to-end flow control&nbsp;</li><li>error control&nbsp;</li></ul><div><br><strong>-TCP Flow control </strong><br>sender와 receiver사이의 정보 전달 속도를 조절 (sender 와 receiver 성능 차이가 존재하기 때문에)&nbsp;<br>1. sender의 데이터 전송<br>2. receiver는 ack를 보냄&nbsp;<br>3. receiver는 ack와 함께 메모리 남은 정보를 보냄&nbsp;<br>4. sender는 그에 따라 정보 전달 속도를 조절할 수 있음&nbsp;<br><br>방식 1) Stop-and-wait flow control&nbsp;<br>정보를 1개 보내고 ack올때까지 대기&nbsp;<br>-&gt; 1개씩 진행하기 때문에 대기시간이 너무 길어서 비효율적&nbsp;<br>방식2) Sliding-window flow control&nbsp;<br>파이프라인을 이용하여 정보를 한번에 많이 보낸 후 도착하는데로 다른 정보를 보내는 방식&nbsp;<br><br></div><div>&nbsp;<strong>-Error control </strong><br>-<mark>ARQ(Automatic Repeat reQuest) </mark><br>방식1) stop-and-wait<br>-lost data packet : sender가 보낸 데이터를 receiver가 받지 못했을 때 -&gt; ack가 sender에게 갈 수 없음 -&gt; sender는 무한정 대기가 아닌 timeout 시간에 맞춰 초과 시 보낸 데이터를 재전송한다.&nbsp;<br>-Lost ACK :&nbsp; receiver가 보낸 ack를 sender가 받지 못했을 때 -&gt; sender는 timeout 시간에 맞춰 데이터를 재전송 -&gt; receiver는 ack를 재전송&nbsp;<br><br>방식2)Continuous ARQ<br>방식2-1) Go-Back-N<br>1,2,3,4,5 순서대로 sender가 보낼 때 3번이 중간에 소실되었을 때 -&gt; 3번부터 ack를 보내지 않고 timeout지난 이후에 sender가 3번 재전송&nbsp;<br>방식2-2) Selective repeat request<br><br><br>-Congestion Control<br>원인) 라우터가 넘칠 때<br>timeout을 이용하여 해결&nbsp;<br>초기엔 window size가 1,2,4,8... 임계치까지 증가 임계치부턴 1개씩&nbsp;<br>-&gt; timeout에 걸리면 1/2로 size가 줄어들고 임계치도 1/2로 감소<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 04:00:10 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344414149</guid>
      </item>
      <item>
         <title>C1 이현지</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344416073</link>
         <description><![CDATA[<div>&lt;5장 Network Layer &amp; IP&gt;<br><br>Network Layer<br>Sender가 보낸 데이터를 안전하게 receiver에게 도착하도록 하는 것.&nbsp;<br>헤더에 주소(IP address)를 씀.&nbsp;<br><br>Network Layer의 기능 : Forwarding(받아서 전달하는 행위), Routing(어느 곳으로 보내야 할지 주소를 보고 판단)<br><br>Network 분류 :<br>-	Circuit switching : 서킷 만들기 -&gt; 데이터 전달 -&gt; 서킷 종료. 전화 네트워크. 서킷이 예약되어 오랜 시간 통화 시 좋음. 채널의 낭비가 존재<br>-	Message switching : 미리 예약 없이 바로 메시지를 보내는 방식.<br>-	Packet switching : 메시지 스위칭의 일부. 패킷으로 나눠서. 순서가 바뀌어서 와도 큰 문제가 안 됨. 시간 단축. pipelining. 무조건 작게 쪼개는 게 좋은 것은 아님.(데이터의 사이즈와 헤더 사이즈가 비슷하면 오버헤드)<br><br>Routing table 어떻게 만드는지? Routing Algorithms<br>-	Link State routing: Dijkstra’s Algorithm 사용. 서로 정보를 주고받아 토폴로지와 cost를 알고 있음<br>-	Distance vector routing : Bellman-Ford Algorithm 사용. 이웃에게만 정보를 주고받음.&nbsp;<br><br>Hierarchical routing : 대표 라우터들을 선정. 대표 라우터들의 라우팅 테이블을 만듦.<br><br>IP<br>라우팅 알고리즘을 실제로 구현하는 프로토콜<br>IP address : Net ID(지정된 것) + Host ID. Class B를 가장 많이 사용.<br><br>Subnet Addressing : Host ID를 Subnet ID + Host ID로 나눈 것.&nbsp;<br><br>IP address가 부족 -&gt; 해결책 : IPng(IPV6) / CIDR (network id를 가변적으로 하여)<br><br>IP address 어떻게 할당?&nbsp;<br>-	Manual configuration<br>-	DHCP(임시로 할당받고 반납)&nbsp;<br><br>NAT : 공적으로 할당받은 IP + 사적으로 할당 받은 IP&nbsp;<br>NAT router에서 중간에 주소가 바뀜 (NAT translation table 통해)<br><br>IP(Internet Protocol)&nbsp;<br>ICMP : 제어용. 데이터 전송은 X.<br>IGMP : 멀티캐스팅 위한 프로토콜.<br><br>Time to Live : 몇 번의 라우터를 거쳐 목적지에 가는지.<br><br><br>&lt;6장 Transport layer&gt;<br><br>센더와 리시버 사이의 데이터 전송. Network layer의 IP 가 주소를 가지고 패킷 단위로 목적지에 도착.&nbsp;<br><br>Internet Transport Protocols<br>-	UDP(User Data Protocol) : 큰 문제가 없는 경우 사용.&nbsp;<br>-	TCP(Transmission Control Protocol) : 아주 정확해야 하는 중요한 트래픽 전송 경우 사용.&nbsp;<br><br>UDP : No frills. Best effort 노력은 해보겠지만 전송 안될 수도. 미리 컨텍없이 전송. Ex ) 멀티미디어 스트리밍<br>TCP : 정확히 전송. Congestion control, End-to-end flow control, Error control. 실수가 용납되지 않음.<br><br>TCP Flow control : 센더가 리시버에게 데이터 보내는 속도를 조절. 리시버가 잘 받으면 ACK를 보냄.&nbsp;<br>-	Stop-and-wait flow control : 효율적이지 않음.<br>-	Sliding-window flow control : 여러 패킷을 보내고(Pipelining) 윈도우 이용.&nbsp;<br><br>TCP Error Control<br>-	Stop and Wait ARQ : 센더는 패킷을 보낼 때마다 Timeout을 돌림.&nbsp;<br>-	Go-Back-N : 에러가 나면 그 번호로 돌아가서 그다음부터 다시 보냄. Corrupted ACKs(0ACK, 3ACK 받은 상태이면 1,2번도 잘 받았다고 생각. 하지만 타임아웃 걸면 1,2번의 ACK를 받지 않았으므로 다시 보냄.)<br><br>TCP Congestion Control<br>-	Timeout을 건다. Slow start - ssthresh 값이 현재 값의 반으로 감소. 윈도우 사이즈는 1로 감소.<br>-	3 dupack. ssthresh 값이 현재 값의 반으로 감소. 윈도우 사이즈는 반으로 감소.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 04:02:39 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344416073</guid>
      </item>
      <item>
         <title>C2 박지현</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344629411</link>
         <description><![CDATA[<div>Chap 5. Network Layer &amp; IP</div><div><br></div><div>Network layer : 제대로 전달하도록 하는 중요한 역할로 protocol이 주로 하는 일, &nbsp;</div><div>*패킷을 보낼 떄마다 헤더에 이름을 적어서 보냄(IP address를 붙임)</div><div>-&gt;기능 : routing(어느 곳을 보낼지 주소를 보고 판단) / forwarding(입력을 받아 출력)</div><div>-&gt;분류 :&nbsp;</div><ol><li>circuit-switched networks : 유선 전화망, circuit을 만들어서 예약(circuit establishment)해 전화를 하고(data transfer) 끝나면 끝났다는 알림을 보냄(circuit termination)(뒤 둘은 overheading 가능)</li></ol><div>+) delay가 없음 -)chanel의 낭비가 존재</div><div>*message switching : circuit을 만들거나 끊는 과정이 없음(packet이 일부) &nbsp;</div><div>-) 메시지가 길어지면 시간이 오래걸림, 메시지가 크면 버퍼의 사이즈가 커야됨</div><div><br></div><ol><li>Packet-switched networks : 미리 커넥션없이 패킷 단위를 쪼개서 전송</li></ol><div>*잘게 자르는 게 좋다는 것은 아니다(어느 순간 많이 자르게 되면 과도한 헤더를 사용 - 파이프 라이닝을 하더라도 데이터와 헤더의 크기가 비슷해지면 overheading)</div><div><strong>Routing Algorithms</strong></div><div>: router들이 각자 스스로 계산(central x) 이웃한 노드의 cost만 안다</div><ol><li>Link state routing : Dijkstra’s 알고리즘을 사용해 계산, 각각의 노드가 연결돼 있는 cost를 교환해 모든 노드가 서로의 cost를 알게 된다 = 똑같은 topolgy를 만들 수 있다 -&gt; the shortest routing을 돌림&nbsp;</li><li>Distance vector routing : Bellman-Ford’s 알고리즘 사용, 자기 이웃하고만 cost를 나눔(덧셈)</li></ol><div><br></div><div>IP(Internet Protocol)</div><div>IP addresses : ver.4(32bit)로 어떤 단말인지 알 수 있다</div><div>-&gt; class 5개로 구분(<strong>a,b,c</strong>,d,e)</div><ol><li>net Id : 기관 전용 ID</li><li>Host Id : 31(전체) - net ID로 남은 ID(2^n)</li></ol><div><br></div><div>Subnet Addressing : host ID를 쪼갠 것</div><div>Subnet Mask : 몇 bit로 쪼갰는지</div><div>Ex) 255.255.255.0라는 것은 subnet이 8bit이고 host ID가 0</div><div>*현재 IP address가 부족 -&gt; IETF는 IPv6를 제작하자는 주장(모든 장비를 바꿔야하기 떄문에 short term solution 제작)</div><div>CIDR : class를 a,b,c로 나누는 것이 아니라 /를 붙여 네트워크 부분을 알려주고 나머지 host part를 알 수 있게 함 = IP address 할당하는 방법(a와 , b와 c사이도 dynamic하게 구분할 수 있다는 장점)</div><div><br></div><div>NAT : (DHCP사용, IP 부족 해결 방안) IP address 하나를 갖고 다수의 host 연결, 내부 라우터가 local IP(사설) 마음대로 할당</div><div>Ex) sender(10.0.0.1로 임시로 받은 사설 IP) -&gt; S와 D를 받지만 공적 IP로 sender 바꿔치기, D는 그대로 -&gt; reply는 S와 D를 바꿈</div><div><br></div><div>*IP는 다양한 protocol로 만들어짐 = 다양한 application 정의</div><div>*ICMP : 망 관리, 네트워크 제어(데이터 전송x)</div><div>*IGMP : multi cast를 위한 protocol</div><div>*ARP / RARP : 피지컬 어드레스를 IP 변환할 때 사용</div><div><br></div><div>Chap 6. Transport Layer</div><div><br></div><div>Transport layer protocol :&nbsp;</div><div>S가 D에 제대로 도착했는지 여부 등을 알아보는 일을 한다</div><div>-&gt; TCP(정확해야하는 protocol로 중요한 traffic 전달) / UDP(간단한 protocol)&nbsp;</div><div>UDP : 기본적인 것으로 S와 D가 미리 접촉하지 않고 보내는 connectionless</div><div><strong>TCP</strong> : reliable, in order delivery / discarding of corrupted packets / retransmission of lost packets / flow control / congestion control</div><ol><li><strong>congestion control</strong> : 혼합이 생길 때 어떻게 할지</li></ol><div>-&gt; 트래픽 갯수를 줄이는 방식을 선택</div><div>1-1) congestion control by timeout(TCP Taeho) : timeout되면 retransmission&nbsp;</div><div>1-2)congestion control by 3 duplicate Acks : Dupack / fast retransmit&nbsp;</div><div><br></div><div>2) <strong>End-to-end flow control</strong> : S와 D 사이의 전송 속도</div><div>-&gt; receiver가 가능한 메모리 스페이스를 포함시켜 보내면 보낼 때마다 늘어나고 줄어드는 속도를 아니까 조절 = S가 D를 넘치지 않게 하는 용도</div><div>2-1) stop-and-wait flow control : 하나 보내고 ack, 기다리기, simple but inefficient</div><div>2-2) sliding-window flow control : 여러 패킷을 보내고 패킷을 받는대로 윈도우 사이즈를 옆으로 옮김</div><div>3) <strong>Error control : 에러</strong></div><div>3-1) Stop-and-Wait ARQ(Automatic repeat reQuest)&nbsp;</div><div>-&gt;Lost data packet : timeout value</div><div>-&gt;Lost ACK timeout : 만약 데이터 packet이 아닌 ack패킷이 사라진 경우</div><div>3-2) Go-Back-N ARQ : sliding window 사용</div><div>-&gt;corrupted ACKs : ack가 오다가 사라지는 경우에는&nbsp;</div><ol><li>cumulative : ack가 사라져도 문제없이 그냥 진행, 3번까지 받았다는 의미는 앞의 것도 전부 정상적으로 받았음을 의미</li><li>Timeout 되기 전에 1번의 ack를 받지 못해 1번부터 다시 할 수도</li></ol><div>=&gt;3개가 다 연관돼있다.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 07:18:25 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344629411</guid>
      </item>
      <item>
         <title>A4 김용빈</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344730169</link>
         <description><![CDATA[<div>-5장-</div><div>○Network Layer</div><div>1. router에서 데이터를 받아서 출력측으로 보내는 역할을 함</div><div>2. routing: 주소를 보고 출력 위치를 정하는 행위</div><div>3. 네트워크 구분</div><div>&nbsp;1) Circuit-switched networks: 유선 전화망(1,2세대)</div><div>&nbsp; - circuit(회선)을 예약 &gt; Data transfer(통화) &gt; circuit termination(통화 중단 신호)</div><div>&nbsp; - 장점: 오랜 시간 통화시 딜레이가 적음</div><div>&nbsp; - 단점: 채널의 낭비가 존재&nbsp;</div><div>&nbsp;2) Packet-switched networks(Message switching): 컴퓨터 통신망(3세대~)</div><div>&nbsp; - 데이터를 packet 단위로 쪼개서 보내는 방식</div><div>&nbsp; - 데이터가 밀릴 경우 다른 경로로 데이터 전송</div><div>&nbsp; - packet의 사이즈가 작을수록 데이터의 전송속도가 빨라지지만 데이터의 크기와 packet의 크기가 유사할 경우 무조건 빨라지는 것은 아님</div><div>4. Routing Algorithms(routing을 만드는 알고리즘)</div><div>&nbsp;1) 각각의 node는 다른 node로 이동할 때 드는 비용만 알고 있는데 Router가 최적의 방향을 찾는 알고리즘이 Routing Algorithms</div><div>&nbsp;2) 종류</div><div>&nbsp; - Link State routing: node1과 직접 연결된 node중 비용이 가장 작은 값을 찾아서 연결하고 이후 연결된 node2와 연결된 node 중 비용이 가장 적은 node를 찾는 방식</div><div>&nbsp; - Distance vector routing: 시작 node와 + 연결된 node + 목적지인 node의 최솟값을 찾는 방식</div><div><br></div><div>○IP</div><div>1. class는 A,B,C,D,E 다섯 가지로 구분</div><div>2. class의 알파벳이 작을수록 구매할 수 있는 Net ID가 줄어들지만&nbsp; HOST ID는 늘어남</div><div>3. Subnet Addressing(Subnet ID): HOST ID를 효율적으로 사용하기 위해 쪼개서 사용하는 방식</div><div>4. IP 주소 부족에 대한 해법</div><div>&nbsp;1) CIDR(Classless Inter-Domain Routing) : class를 위에처럼 나누는 것이 아닌 /를 사용해서 네트워크 부분과 호스트 부분을 알려주는 방식&nbsp;</div><div>&nbsp;2) DHCP(Dynamic Host Configuration Protocol)</div><div>&nbsp; - 임시 IP를 할당받아서 사용하고 반납하는 형태</div><div>&nbsp; - NAT(Network Address Translation): 하나의 할당 받은 IP를 여러 개의 사설 IP로 사용하는 방식</div><div><br></div><div>-6장-</div><div>○Transport Layer</div><div>1. Internet Transport Protocols(트래픽의 종류에 따라)</div><div>&nbsp;1) User Datagram Protocol(UDP): ack이 없고 손실돼도 큰 영향이 없음</div><div>&nbsp;2) Transmission Control Protocol(TCP): 속도보다는 정확도가 중요, 실수 x</div><div>&nbsp; - Congestion control: router에 급격하게 packet이 몰렸을 때 컨트롤하는 방식&nbsp;</div><div>&nbsp; - End-to-end Flow Control: sender가 데이터를 보낼 때 receiver는 ack을 보내는데 이 속도의 차이에 따라 데이터 전송량을 컨트롤하는 방식&nbsp;</div><div>&nbsp; - Error control: packet 혹은 ack 전송에 있어서 오류가 발생했을 때 제한시간을 설정해서 제한시간이 초과했을 때 재전송하는 방식</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 08:38:32 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344730169</guid>
      </item>
      <item>
         <title>A4 서원교</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344756167</link>
         <description><![CDATA[<div>5-1장<br>&nbsp;1. Network Layer</div><ol><li>&nbsp;Routing</li></ol><div>2. Communication networks</div><ol><li>Circuit-swithched networks = 1세대<ol><li>서킷을 미리 만들고 통화를 끊는 행위가 필요합.&nbsp;</li><li>딜레이가 없다&nbsp;</li><li>채널의 낭비가 존재한다</li></ol></li><li>Packet-switched networks = 3세대</li><li>라우팅 알고리즘<ol><li>라우터들이 스스로 계산을 한다.&nbsp;</li><li>***Dijkstra’s 알고리즘</li><li>최적의 과정을 찾는 알고리즘&nbsp;<ol><li>계산과정 숙지</li><li>Bell-man 알고리즘<ol><li>각자의 라우팅 테이블을 받고, 경로수를 더해서 비교. 더 작은 값을 선택.</li></ol></li><li>Hierarchical routing<ol><li>대표 라우터를 설정하고, 내부의 라우터를 만드는 것&nbsp;</li></ol></li></ol></li></ol></li><li>5-2장<br>&nbsp;<ol><li>IP addresses<ol><li>Net ID, Host ID로 나뉜다.&nbsp;</li></ol></li><li>32 bit 어드레스를 전세계적으로 쓰고있다.&nbsp;<ol><li>classA(7,24), classB(14,16), classC(21,8), classD, classE로 나뉜다.</li><li>주로 클래스B를 쓴다.</li></ol></li><li>IP address scheme의 문제점</li><li>IETF solutions<ol><li>Short term solution</li><li>Long term solution</li></ol></li><li>CIDR&nbsp;</li><li>NAT<ol><li>하나의 공적인 어드레스를 할당받았지만, 사적으로 ip를 할당 해줄 수 있다.</li></ol></li></ol></li><li>6장<br>&nbsp;<ol><li>Transport layer protocols<ol><li>TCP, UDP 2개의 종류가 있다. UDP 전송이 안되도 상관없을때, TCP 속도보다는 정확한 데이터를 전송해야 할 때 쓴다. 실수란 있으면 안된다. (Ex. 은행)&nbsp;</li><li>UDP = 8바이트&nbsp;</li><li>TCP = congestion control, End-to-end flow control, Error control&nbsp;</li><li>TCP flow control = sender가 보내면 리시버가 acknowledge(앸크)를 보낸다.&nbsp;</li><li>Stop-and-wait flow control = 효율적이지 않다. 하나 보내고 너무 오래 기다린다.&nbsp;</li><li>Sliding-window flow control&nbsp;</li><li>Go-Back-N<ol><li>Corrupted acts</li></ol></li><li>TCP segment Format<ol><li>생략. 읽어만 보라</li></ol></li><li>TCP Congestion Control<ol><li>유선네트워크를 가정해서 만듦&nbsp;</li><li>에러때문에 발생하는 경우는 없다.&nbsp;</li><li>Timeout 이 오면 ssthresh = 10 으로 떨어지면서 congestion 문제를 해결한다.&nbsp;</li></ol></li></ol></li></ol></li></ol><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 08:58:17 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344756167</guid>
      </item>
      <item>
         <title>A4 이경민</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344794791</link>
         <description><![CDATA[<div><br>5-1장<br><br></div><div>Network Layer<br><br></div><div>-데이터 송신 시 헤더 내부에 목적지 주소를 실어 전송<br><br></div><div>-forwarding&amp;routing<br><br></div><div>=&gt;데이터를 입력측에서 데이터 수신측 주소 확인 후 전송로 결정<br><br></div><div>&nbsp;<br><br></div><div>Circuit-switching<br><br></div><div>- &gt; 회선 연결 - 데이터 전송 - 회선 연결해제<br><br></div><div>- &gt; 장점: Realtime으로 통신시 유리함.<br><br></div><div>- &gt; 단점: 한곳에서 독점하고 있어 낭비가 심하다<br><br></div><div>&nbsp;<br><br></div><div>Packet-switching<br><br></div><div>- &gt; 하나의 데이터를 여러 패킷으로 송신<br><br></div><div>- &gt; Circuit-switching과 달리 송신 경로를 미리 확립하지 않음<br><br></div><div>- &gt; Message-switch의 단점인 메시지 길이 문제를 해결하기 위해 파이프라인을 사용<br><br></div><div>- &gt; 데이터의 크기를 고려해 적절한 패킷으로 나눠 전송<br><br></div><div>&nbsp;<br><br></div><div>Routing Algorithms<br><br></div><div>-&gt; 목적지 경로까지의 비용을 고려해 경로 설정<br><br></div><div>&nbsp;<br><br></div><div>-Link State routing<br><br></div><div>&nbsp;<br><br></div><div>-Distance vector routing<br><br></div><div>-&gt; Dijsdktra's Algorithm=&gt; 인접한 라우터까지의 경로를 계산 후 가장 최적의 비용의 경로 설정<br><br></div><div>-&gt; 벨만 포드 알고리즘 =&gt; 인접한 라우터까지의 경로의 라우팅 테이블을 기준으로 최적의 경로를 계산<br><br></div><div>-&gt; Hierarchical routing =&gt;현실에 맞게AS routing을 활용해 대표 라우터를 지정 후 Region으로 가는 경로 지정&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>5-2장<br><br></div><div>IP -&gt;라우팅알고리즘을 구현하는 곳<br><br></div><div>&nbsp; &nbsp; -&gt; 4byte 32bit IP<br><br></div><div>&nbsp; &nbsp; -&gt;5개의 클래스로 구분됨(A,B,C,D,E)<br><br></div><div>&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>A&nbsp; class<br><br></div><div>=&gt;range(0.0.0.0~127.255.255.255)<br><br></div><div>B&nbsp; class( 기관에서 가장 선호하는 클래스, 호스트 충분히 할당 가능)<br><br></div><div>=&gt;range(128.0.0.0 ~ 191.255.255.255)<br><br></div><div>C&nbsp; class<br><br></div><div>=&gt; range(192.0.0.0 ~ 223.255.255.255)<br><br></div><div>D class<br><br></div><div>=&gt;range(224.0.0.0 ~ 239.255.255.255)<br><br></div><div>E class&nbsp;<br><br></div><div>=&gt; range(240.0.0.0 ~ 247.255.255.255)<br><br></div><div>&nbsp;<br><br></div><div>Subnet Addressing<br><br></div><div>=&gt; 호스트를 나눠주는 기능<br><br></div><div>&nbsp;<br><br></div><div>서브넷 마스크<br><br></div><div>=&gt;호스트를 몇개로 나눠 사용하는지를 결정하는 역할수행<br><br></div><div>&nbsp;<br><br></div><div>IETF solutions<br><br></div><div>-&gt; IPv6도입을 통해 IPv4의 자원고갈 문제 해결<br><br></div><div>&nbsp;<br><br></div><div>CIDR<br><br></div><div>-&gt;&nbsp; 호스트 사용 범위가 큰 클래스방식 문제 해결을 위해 사용<br><br></div><div>-&gt; /OO입력되는 숫자에서 32을 뺀 나머지를 호스트로 사용<br><br></div><div>&nbsp;<br><br></div><div>DHCP<br><br></div><div>-&gt; 임시 IP를 할당받아 사용(스마트폰에서 사용)<br><br></div><div>&nbsp;<br><br></div><div>NAT<br><br></div><div>=&gt;HOST에게 사설 IP를 할당하고 공적으로 할당받은 IP주소통해 전송<br><br></div><div>&nbsp;<br><br></div><div>ICMP-&gt; 망 관리 및 제어에 사용<br><br></div><div>IGMP-&gt;&nbsp; 멀티캐스트시 사용<br><br></div><div>&nbsp;<br><br></div><div>ARP&amp;RARP-&gt; IP주소를 알지 못할 경우 사용<br><br></div><div>&nbsp;<br><br></div><div>TTL-&gt; 몇번의 홉을 거쳐 도착하는지를 측정<br><br></div><div>&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>6장<br><br></div><div>Transprot layer<br><br></div><div>-Sender와 Receiver 사이에 데이터 전송시 데이터가 정확히 송수신 되었는지를 확인<br><br></div><div>-TCP, UDP<br><br></div><div>&nbsp;<br><br></div><div>UDP<br><br></div><div>-&gt;일부 데이터의 유실이 있더라도 큰 문제가 되지않을 경우 사용<br><br></div><div>&nbsp;<br><br></div><div>TCP<br><br></div><div>-&gt; 송수신시 신뢰성이 보장되야하는 경우 사용하는 프로토콜<br><br></div><div>-&gt; Congestion Control=&gt; sender가 데이터 전송시 문제가 발생했을때&nbsp;<br><br></div><div>-&gt; End-to-Flow Control =&gt; sender와 receiver사이 전송 속도 조절<br><br></div><div>-&gt; Error Control-&gt; 에러 제어<br><br></div><div>&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>TCP Flow control<br><br></div><div>-&gt; Sender가&nbsp; Receiver의 버퍼가 넘치지 않도록 속도를 조절<br><br></div><div>-&gt; stop-and-wait(ACK를 확시 다시 전송)<br><br></div><div>-&gt; Pipelining (지정한 파이프 라인 개수만큼 한 번에 전송)<br><br></div><div>-&gt;Sliding-window flow<br><br></div><div>&nbsp;<br><br></div><div>Error Control<br><br></div><div>-&gt; Stop-and-wait ARQ=&gt; 패킷 송신 후 ACK수신시 다음 데이터 전송(Time out을 지정을 통해 유실 확인)<br><br></div><div>-&gt; Go-Back<br><br></div><div>&nbsp; &nbsp; &nbsp;=&gt;에러 발생시 AKC를 수신하지 못한 패킷부터 재송신<br><br></div><div>&nbsp; &nbsp; &nbsp;=&gt;cumulative 중간에 한개의 ACK가 유실되더라도 유실된 패킷 다음 패킷의 ACK수신시 정상 수신으로 가정<br><br></div><div>&nbsp; &nbsp; &nbsp;=&gt; time-out을 기준으로 ACK 미수신 데이터 재전송<br><br></div><div>&nbsp;<br><br></div><div>TCP Congestion Control<br><br></div><div>-&gt; 트래픽 발생시 트래픽 제어 기능 수행<br><br></div><div>-&gt; 전송하는 window 값을 고려해 전송<br><br></div><div>&nbsp;<br><br></div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 09:30:33 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344794791</guid>
      </item>
      <item>
         <title>A4_정준영</title>
         <author>wnsdudl2006</author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344809077</link>
         <description><![CDATA[<div>AIoT 5-1장<br><br>IP : 전세계 공통 주소 체계<br>라우팅, 포워딩<br>Circuit-switched networks 회선 예약 방식, 3가지 단계, 딜레이가 없는 대신 낭비가 심함<br>Packet switched networks 하나의 데이터를 분산시켜 전송, 헤더에 부하가 걸리면 느려짐<br>Routing Algorithms<br>Link State routing : 서로의 cost 교환하여 계산<br>Distance vector routing : 이웃끼리의 cost만 교환하여 계산<br>Hierarchical routing : AS에서 대표 라우팅만 선정하여 계산<br><br>AIoT 5-2장<br><br>32bit IP address<br>5가지 Class<br>Class A : 0으로 시작, Net ID 7bit, Host ID 24bit 0.0.0.0 - 127.255.255.255<br>Class B : 1 0으로 시작, Net ID 14bit, Host ID 16bit 128.0.0.0 - 191.255.255.255<br>Class C : 1 1 0으로 시작 Net ID 21bit, Host ID 8bit 192.0.0.0 - 223.255.255.255<br><br>Subnet Addressing 효율적으로 Host분배, subnet mask<br><br>IP address scheme의 문제 IP고갈, CIDR : Host부분을 알려줘 IP주소 절약<br>DHCP 임시 IP주소를 할당받아 사용 후 반납<br>NAT : 공적 IP주소를 하나 할당받아 사설 IP분배<br><br>AIoT 6장<br><br>Transport layer protocols 데이터가 잘 도착하였는지 확인<br><br>UDP 빠름<br>	데이터 유실에 상관없을 경우 사용, 수, 발신자 확인하지 않고 보냄<br><br>TCP 속도보다 신뢰성 우선,<br>	Folw Control : 보내는 속도와 받는 속도 조절<br>	Error Control : Timeout을 이용하여 분실된 데이터 다시 전송<br>	Congestion Control : 라우터 문제로 생각하여 노드를 줄임 (Timeout, Congestion)</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 09:43:07 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344809077</guid>
      </item>
      <item>
         <title>C3 최수찬</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344809701</link>
         <description><![CDATA[<div>5장 Network Layer &amp; IP</div><div><br><br></div><div>1. Netwrok Layer Services</div><div>(1) 기능 – Forwarding, Routing</div><div>(2) Circuit-switching - 서킷을 만들고, 통화를 하고(데이터를 전달하고) , 서킷을 끊고 3가지 단계로 이루어짐</div><div>(3) Message Switching</div><div>(4) Packet Switching - 패킷을 쪼개면 쪼갤 수록 전달 시간이 단축됨, 그러나 패킷과 해더의 사이즈가 비슷해지면 오히려 시간이 길어짐</div><div><br><br></div><div>2. Routing Algorithms</div><div>(1) 라우팅 각자가 스스로 계산하여 최적의 결론을 도출</div><div>(2) Link State routing</div><div>1) 각각의 노드가 연결되어 있는 노드끼리 각자의 코스트 값을 교환</div><div>2) Dijkstra’s Algorithm을 실행</div><div>(3) Distance vector routing</div><div>(4) Hierarchical routing</div><div><br><br></div><div>3. IP addresses</div><div>(1) 32 비트 IP address 사용</div><div>(2) Net ID, Host ID, Class A~E</div><div>(3) Subnet Addressing</div><div>(4) Problems of IP address scheme (class-ful addresses)</div><div>(5) CIDR</div><div>(6) IP 주소 할당 방법 - DHCP(임시 IP할당하는 방법)</div><div><br><br></div><div>4. NAT (Network Address Translation)</div><div><br><br></div><div>5. IP (Internet Protocol)</div><div><br><br></div><div>6장 Transport layer</div><div><br><br></div><div>1. Transport layer protocols</div><div>(1) UDP -털털하고 간단한 프로토콜, 잃어버려도 상관없고 그런 경우</div><div>(2) TCP - 속도보단 정확한 전달을 필요로 할 때, 에러가 없어야함</div><div>1) Congestion control&nbsp;</div><div>2) End to end Flow Control</div><div>3) Error Control</div><div><br><br></div><div>2. TCP Congestion Control</div><div>(1) Congestion control by timeout</div><div>(2) congestion control by 3 duplicate Acks</div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 09:43:42 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344809701</guid>
      </item>
      <item>
         <title>A3 이아정</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344837337</link>
         <description><![CDATA[<div>Network Layer &amp; IP<br><br><strong>Network Layer<br></strong>: Sender가 보낸 자료를 Destination에 안전하게 전달하는 역할 (IP의 역할이기도 함)<br>* packet = 데이터<br>** header = 주소 (IP address)<br>- 중간에 router을 거쳐 destination에 도착<br><br><strong>Netwokr-layer Funtions<br></strong>&nbsp;1) forwarding (전달)<br>&nbsp; &nbsp; &nbsp;: packet을 전달하는 행위<br>&nbsp;2) routing (중계)<br>&nbsp; &nbsp; &nbsp;: 주소를 보고 어느 방향으로 보낼지 판단<br><br>따라서, routing table이 중요<br>-&gt; 라우터들 간 스스로 계산하여 생성<strong><br><br></strong>Circuit-switched networks<br>: 옛날 유선 네트워크 형태 (1G, 2G)<br>- 송신자가 Circuit(회선)을 미리 예약하는 형태 [circuit생성 - 통화(transfer) - circuit종료]<br>- 장점 : 하나의 서킷을 생성하여 사용하기 때문에 real-time으로 오래 사용하기 편리, delay 감소<br>- 단점 : channel의 낭비가 존재<br><strong><br>Packet-switched networks<br>: 최근 컴퓨터 통신망 형태 (3G ~ )<br></strong>-&gt; Message-switching에 속함<br><br>Message-Switchg (with packet switching)<br>: 메세지가 크면 전송에 오래 걸리고 버퍼가 커야하는 단점이 존재<br>따라서, meaasge를 packet단위로 slice하여 전송 = packet switching<br><br><strong>Packet switching</strong><br>- packet을 보낼 때 connetion 없이 data를 packet 단위로 쪼개서 전송<br>- 한쪽 경로에서 지연이 발생하면 다른 경로를 통해 전달<br>- 도착 순서가 달라져도 초기 데이터 서열은 바뀌지 않음<br>* packet size가 작아진다고 해서 전부 시간이 단축되는건 아님 (과도한 header로 인해 지연되는 지점이 발생 : 오버헤드)<br><br><strong>Routing algorithms<br></strong>- link state routing<br>- Distance vector routing<br><br><strong>IP address<br>- </strong>IPv4 : 32비트의 IP address, Net ID와 Host ID로 구성됨<br>* Net ID : 특정 기관 소속을 알리는 정보<br>** Host ID : 컴퓨터에 할당되는 정보<br>- Class B(2<sup>14</sup>개 기관에서 각 2<sup>16</sup>개 Host IP)를 가장 많이 사용<br>*Dotted Decimal Notation : 32bit를 8bit씩 쪼개서 10진수로 표현<br><br><strong>Subnet addressing<br></strong>: Host ID 부분을 세부 networks로 쪼개어 사용하는 방식<br>- Subnet mask : 기관에서 subnet을 몇 bit로 쪼갰는지 구분하기 위한 장치 (1 : Net ID &amp; Subnet ID , 0 : Host ID)<br><br>Internet의 발전으로 IPv4주소가 포화상태에 직면<br>-&gt; IPv6, CIDR 등의 해결 방안 마련<br><br><strong>CIDR (Classless Inter-Domain Routing)<br>: </strong>Class간 host ID 격차로 인한 낭비를 감소시키기 위한 주소 할당 방법으로, network ID 부분을 가변적으로 함<br><br><strong>ID address 할당방법</strong><br> 1) Manual configuration : 특정 IP를 고정적으로 할당하는 방법<br> 2) DHCP (Dynamic Host Configuration Protocol)<br>&nbsp; &nbsp; &nbsp;: 임시로 할당받은 IP주소를 사용 후 반납하는 방식, dynamically함<br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 10:07:13 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344837337</guid>
      </item>
      <item>
         <title>B2 박진솔</title>
         <author>astrocmder</author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344850978</link>
         <description><![CDATA[<div>Chapter 5</div><div>Network Layer &amp; IP</div><div><br><br></div><div>네트워크 계층</div><div>- 패킷을 받고 목적지에 제대로 전달하는 역할 수행</div><div>- 이때, 목적지의 주소가 IP 주소</div><div>- 기능 : forwarding(입력 패킷을 다른 라우터로 전달), routing(주소를 받고 어느 라우터로 가야하는지를 결정)</div><div><br><br></div><div>네트워크 계층의 구분</div><div>1) circuit-switched networks (1,2g)</div><div>- 연결하고자 하는 곳과의 회선을 예약,</div><div>- phases (Circuit extavlishment, Data transfer, Circuit termination)</div><div>- 단점 : 채널의 낭비 발생</div><div><br><br></div><div>2) Packet Switching</div><div>-하나의 데이터를 여러 개의 패킷으로 나눠 전송</div><div>- “적절한”pipe – lining을 통해 전송 시간을 단축</div><div><br><br></div><div><br><br></div><div>&nbsp;네크워크 계층 서비스</div><div>- 라우팅 알고리즘 - 라우터 테이블을 만드는 과정</div><div>- 중앙집중화된 방식이 아니라 각각의 라우터가 계산하는 분산 방식</div><div>- 라우터들을 vertex로 하는 Graph에서 최소비용을 가지는 edge로 forwarding하는 알고리즘(dijkstra’s Algorithm)</div><div><br><br></div><div>%dijkstra’ Algorithm</div><div>- 시작 노드와 연결된 노드의 비용 중 가장 작은 노드로 이동</div><div>- 그 이동한 노드를 기준으로 인접 행렬을 업데이트</div><div>- 비용을 비교하면서 반복</div><div><br><br></div><div>% bellman-form algorithm</div><div>- 시작노드와 인접한 노드들의 라우팅 테이블을 활용하여 계산</div><div>- 인접 노드들로부터 다른 노드로 가능 비용에 시작 노드로부터 해당 인접노드의 비용을 더하는 알고리즘</div><div><br><br></div><div>Chapter 5 -2 IP : internet protocol</div><div><br><br></div><div>IP 주소란</div><div>- 유일한 32bit의 주소로 net ID, host ID 포함</div><div><br><br></div><div>IP 주소의 클래스</div><div>1) Class A : 0 + 7비트 net id + 24비트 host id</div><div>2)class B : 1 + 0 + 14비트 net id + 16비트 host id</div><div>3)class C : 1 + 1 + 0 + 21비트 net id + 8비트 host id</div><div>4) class D : 1 + 1 + 1+ 0 + multicast address</div><div>5) class E : 1 + 1 + 1 + 1 + 0 + reserved for future use</div><div><br><br></div><div>서브넷 주소</div><div>class B를 가정 → host ID를 8 bit, 8bit로 나눠 서브넷, 호스트로 나눔</div><div>서브넷 마스크 : 서브넷이 몇 비트를 사용하는지에 대한 정보를 전달&nbsp;</div><div><br><br></div><div>IP 주소 계획의 문제</div><div>- 인터넷의 엄청난 성장으로 할당할 수 있는 주소가 부족</div><div>- 라우팅 테이블 사이즈의 빠른 증가</div><div>&nbsp;해결책 : long term(IPv6), short term(CIDR)</div><div><br><br></div><div>IP 주소의 할당</div><div>-수동</div><div>-DHCP(Dynamic Host Configuration Protocol)</div><div><br><br></div><div>NAT</div><div>- IP주소 부족의 해결방법 중 하나</div><div>- 할당된 하나의 IP주소(공적IP)를 사적IP로 변환</div><div>- NAT translation table을 활용해 변환이 일어남</div><div><br><br></div><div>Chapter 6 Transport layer</div><div><br><br></div><div>Transport Layer : sender가 보낸 패킷이 잘 도착하였는지 확인하는 계층</div><div><br><br></div><div>UDP : User Datagram Protocol</div><div>-보내는 트래픽의 이상이 생기는 것이 큰 문제가 아닌 경우</div><div><br><br></div><div>TCP : Transmission Control Protocol</div><div>- 정확하게 도착하는 것이 매우 중요한 경우(예, 금융데이터의 전송)</div><div>-no frills</div><div>- best effort</div><div>- Connectionless</div><div>- Often used for</div><div><br><br></div><div>TCP의 controls</div><div>- Congestion control</div><div>- End-to-End Flow control</div><div>- Error control</div><div><br><br></div><div>Error Control</div><div>- Stop and wait ARQ : ACK를 받지 못했을 때, timeout 만큼을 대기후 재송신</div><div>- GobackN ARQ : error-free operation, corrupted data packet</div><div><br><br></div><div>Congestion Control</div><div>- 트래픽에 정체가 생기는 것을 통제</div><div>- timeout → ssthresh가 현재 값의 절반→ retransmission</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 10:19:18 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344850978</guid>
      </item>
      <item>
         <title>C3 안효진</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344882846</link>
         <description><![CDATA[<div>5장 Network Layer &amp; IP<br><br>1. Network layer service<br>&nbsp; : sender에서 receiver까지 안전하게 전달, 데이터 보낼 때마다 헤더에 주소를 입력<br><br>Network Layer<br>&nbsp; 1) Forwarding : 수신자 주소를 보고 데이터를 받아 보내는 행위<br>&nbsp; 2) Routing : 주소를 보고 어느 곳으로 보내야 할지 판단하는 행위<br><br><br>Communication networks<br>&nbsp; 1) Circuit-switched networks<br>&nbsp; &nbsp; - 회선을 만들어 통화 후 회선을 끊는 방식<br>&nbsp; &nbsp; - 장점 : 미리 예약할 수 있어 오랜 시간 통화에 좋고 delay가 없음<br>&nbsp; &nbsp; - 단점 : 채널 낭비가 존재<br>&nbsp; 2) Message Switching<br>&nbsp; &nbsp; - circuit 만들지 않고 바로 보냄<br>&nbsp; &nbsp; - Packet Switching : 데이터를 쪼개서 보냄. 중간에 한쪽이 밀리<br>&nbsp; &nbsp; &nbsp; &nbsp;면 다른 경로로 보낼 수 있음. 순서가 다르게 도착하더라도 재정<br>&nbsp; &nbsp; &nbsp; &nbsp;비 가능<br>&nbsp; &nbsp; - 무조건 많이 쪼개는 것이 좋은 건 아님 -&gt; 데이터와 header의 사<br>&nbsp; &nbsp; &nbsp; &nbsp;이즈가 비슷해지면 header의 영향이 커지기 때문<br><br><br>Routing Algorithms<br>&nbsp;: 스스로 계산하여 routing table을 만듦.<br>&nbsp; 1) Link State routing algorithm<br>&nbsp; &nbsp; - 각각의 노드가 자신과 이웃한 노드를 알고 cost를 알고 있어 이를&nbsp;<br>&nbsp; &nbsp; &nbsp; 서로 주고받으면 모든 노드가 똑같은 topology 그림을 알게 됨.<br>&nbsp; 2) Distance vector routing<br>&nbsp; &nbsp; &nbsp;- 자신의 이웃하고만 데이터를 주고받음.<br>&nbsp; 3) Hierarchical routing<br>&nbsp; &nbsp; &nbsp;- 수많은 router, 너무 긴 table 때문에 생김<br>&nbsp; &nbsp; &nbsp;- 대표 router 선정하여 대표끼리 routing table 만들고, 내부안에<br>&nbsp; &nbsp; &nbsp; &nbsp;서 table을 따로 만드는 방식<br><br><br>2. IP<br><br>IP address : 5가지 class<br><br>Subnet Addressing : Host ID를 효율적으로 쓰기 위함.<br><br>Subnet mask : 몇 비트로 나누었는지 알려주기 위함.<br><br>IP address 부족 문제 해결 방안<br>&nbsp; 1) CIDR : class ABC와 상관없이 "/"를 이용해 host part가 몇 비트<br>&nbsp; &nbsp; &nbsp;임을 알려주는 방식<br>&nbsp; 2) DHCP : 임시 IP address를 받아 쓰고 반납하는 방식<br>&nbsp; 3) NAT : 데이터를 보낼 때 임시 IP주소로 보낸 후 router에서 공적<br>&nbsp; &nbsp; &nbsp; 인 IP로 바꿔 데이터를 보내는 방식, 받을 때도 같은 방법<br><br>Time to live(TTL) : 몇 번의 hub을 거쳤는가를 측정<br><br><br><br>6장 Transport Layer<br><br>1. Transport layer : 잘 도착했는지 여부 파악<br><br>UDP(User Datagram Protocol)<br>&nbsp; : 기본 골격만 유지, 잘 되면 좋지만 전달 안될 수도 있음, packet이&nbsp;<br>&nbsp; &nbsp;조금 사라져도 상관없는 경우 사용.<br><br>TCP(Transmission Control Protocol)<br>&nbsp; 1) Flow Control : sender가 빠른 속도로 보내 receiver가 잘 받지&nbsp;<br>&nbsp; &nbsp; &nbsp;못해 buffer가 넘쳐 sender의 속도 조절이 필요<br>&nbsp; &nbsp; - Stop-and-wait : 데이터 한개 전송, 멈춘 후 ACK 받을 때까지 기<br>&nbsp; &nbsp; &nbsp; &nbsp;다림 -&gt; 비효율<br>&nbsp; &nbsp; - Pipelining : 동시에 여러개 보내고 ACK 기다림.<br>&nbsp; &nbsp; - Sliding-window flow control : 여러 packet 보내고, ACK 받<br>&nbsp; &nbsp; &nbsp; &nbsp;을 때마다 다음 Packet 보냄.<br>&nbsp; 2) Error Control<br>&nbsp; &nbsp; - Stop-and-wait ARQ&nbsp;</div><ul><li>Lost data : 데이터 전송 후 ACK 계속 기다림.</li><li>이를 방지하기 위해 Timeout을 정해 그 시간만 기다린 후, 같은 데이터 재전송</li><li>Lost ACK : Timeout 기다린 후 데이터 재전송하지만 이미 받은 데이터 이므로 ACK만 보낸 후 데이터는 버림.&nbsp;</li></ul><div>&nbsp; &nbsp; - Go-Back-N ARQ : n개 보내고 ACK 받자마자 다음 data 전송</div><ul><li>Corrupted data : 3번째 data 전송 실패 -&gt; ACK Timeout이 끝난 후 다시 3번째 데이터부터 재전송, 3번째 이후로 보내진 데이터는 버려짐.</li><li>Corrupted ACKs : (Timeout 끝나기 전) 앞에 ACK 안왔지만 뒤에 ACK가 오면 그냥 ACK 사라졌다 인식하고 아무런 문제 없이 이어서 보냄. (Timeout 끝난 후) ACK 오지 않았다면 다시 재전송</li></ul><div>&nbsp; 3) Congestion Control : 많은 packet이 몰리면 buffer 넘침.<br>&nbsp;   - Timeout에 의해 ACK 오지 않으면 다시 1로 떨어짐.</div><div><br><br>&nbsp;&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 10:49:27 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344882846</guid>
      </item>
      <item>
         <title>B3 박준형</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344887061</link>
         <description><![CDATA[<div>ch. 5-1<br><br>Network Layer<br>- 입력받아 어디로 출력할지 결정(forwarding &amp; routing)<br><br>circuit에서 packet switching로 변화<br><br>circuit<br>- delay 없음 but channel 낭비가 발생<br><br>packet<br>-packet 단위로 쪼개서 신호를 보냄<br><br>각각의 node가 정보공유를 통해 모두의 cost를 파악할 수 있음<br><br>Routing Algorithms<br>- 각자가 스스로 계산<br><br><br><br>ch. 5-2<br>IP(Internet Protocol) addresses<br>- 주소 고갈 문제 해소를 위해 새로운 version(IPv6)<br><br>CIDR(classless inter-domain routing)<br>"xxx.xxx.xxx.xxx/?"로 가변적으로 만들어 여러개를 만들 수 있음<br><br><br>ch. 6&nbsp;<br>Transport Layer<br><br>TCP(Transmission Control Protocol<br>- 완전히 정확한 정보를 보내야할 때 사용<br>- reliable, in-order packets<br>- flow control ~ 신호를 주고 받는 속도를 조절하기 위해<br><br>UDP(User Datagram Protocol)<br>- 일부 손실이 있어도 되는 경우 사용<br>- out of order<br><br><br>Error Control<br>- Stop-and-Wait ARQ<br>&nbsp;- time out 사용으로 일정시간 이상 신호가 없으면 refresh<br><br>TCP Congestion Control<br>- 라우터가 넘치는 경우, 트래픽 갯수를 줄이는 방법을 선택<br>- 유선을 가정해서 만듬/ 안정성이 높음</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 10:53:38 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344887061</guid>
      </item>
      <item>
         <title>A2 이경로</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344890044</link>
         <description><![CDATA[<div>5장, Network Layer &amp; IP</div><div>Network layer는 송신자로부터 패킷을 받아, 인터넷을 통해 외부의 네트워크로 전송하는 역할을 한다.</div><ul><li>Forwarding: router input으로부터 router output으로 패킷을 전달</li><li>Routing: 패킷으로부터 출발지-목적지를 결정함</li></ul><div><br></div><div>Forwarding &amp; Routing</div><div>네트워크 사이 통신하는 방법</div><div>Circuit-switched networks</div><div>유선 전화망에서 사용. 요청이 오면 목적지까지의 회선(circuit)을 예약하고, 데이터 전송 후 회선의 예약을 해제한다. 한번 회선이 연결되면 delay가 적기에 long-time communication에 유리하지만, 채널의 낭비가 있다.</div><div>Packet-switched networks</div><div>컴퓨터 통신망에서 사용. 회선을 예약하지 않고, 긴 메시지를 짧게 쪼개 통신한다. 데이터가 여러 라우터를 거쳐 순서가 섞일 수 있으며, 이후 순서를 재정립한다. 모든 링크를 사용하여 데이터를 전송할 수 있고 채널의 낭비가 없지만, 전송할 데이터가 많을수록 여러번 쪼개 데이터를 전송해야 하므로 느리며 router의 buffer가 커야함.</div><ul><li>Pipelining: 패킷을 더 잘게 쪼개서 데이터를 보낸다면 시간은 적게 들지만, 패킷의 헤더를 여러번 작성해야 한다.</li></ul><div><br></div><div>difference between circuit and packet switching</div><div>Routing Algorithm</div><div>Router가 목적지로 향하는 최선의 경로를 저장한 Routing table을 작성하는 알고리즘</div><div><br></div><div>Routing table</div><ul><li>Link State routing: Dijkstra’s Algorithm을 사용한다.</li><li>Distance vector routing: Bellman-Ford Algorithm을 사용한다.</li></ul><div>Hierarchical routing</div><div>네트워크가 커짐에 따라서 라우팅 테이블을 모두 연결하기 어려우므로, 한 집단에 의해 관리되는 Autonomous System의 대표 router들로만 routing table을 구성한다. 내부에서도 routing table을 구성하여 계층적으로 routing algorithm을 구현한다.</div><div><br></div><div>Hierarchical routing</div><div>IP(Internet Protocol)</div><div>각 host와 router는 IPv4 기준 32bit IP 주소를 할당받는다.</div><div><br></div><div>IP 주소는 network ID와 host ID로 이루어지고, network ID는 사용 가능한 망의 수, host ID는 한 network 당 사용 가능한 기기의 수이다.</div><div>(ex. class A를 이용 가능한 기관은 $2^7$개이고, 각 기관은 $2^{24}$개의 기기를 사용할 수 있다.</div><div>따라서 대부분의 기관은 적절한 기기를 가진 class B를 선택한다.</div><div>Subnet Addressing</div><div>host ID를 쪼개어, 일부는 subnet ID로 일부는 host ID로 사용한다. subnet과 host를 구분하는 것이 subnet mask이다.</div><div>host는 IP 주소와 subnet mask를 이용해 데이터그램의 목적지가 1. 같은 subnet인지, 2. 같은 network 상의 다른 subnet인지, 3. 다른 network인지 구분한다.</div><div><br></div><div>IP 주소의 부족을 구축하기 위한 방법</div><ul><li>IPv6 구축(long term solution)</li><li>CIDR(Classless Inter-Domain Routing, short term solution)</li></ul><div>IP 할당은 다음의 방법을 이용한다.</div><ol><li>Manual configuration</li><li>DHCP(Dynamic Host Configuration Protocol)</li></ol><div>private IP &amp; public IP</div><div><br></div><div>public IP는 ISP가 기업 등에게 제공하는 유일한 IP이며, private IP는 기업의 라우터에서 개인 또는 회사의 기기에게 발급하는 IP이다.</div><div>private IP는 네트워크 안에서만 고유하며, 다른 네트워크에서도 존재할 수 있다.</div><div>NAT(Network Address Translation)</div><div>private IP를 public IP로 변환하는 기술.</div><div>MTU(Maximum Transmission Unit): 최대 패킷 크기.</div><div>6장, Transport Layer</div><div>Transport Layer에서는 송신자의 데이터가 목적지에 잘 도착했는지, 에러는 발생했는지, 딜레이가 있는지 등을 살핀다.</div><div>UDP(User Datagram Protocol)</div><ul><li>NO ack, retransmission</li><li>Out of order, duplicates possible</li></ul><div>handshake가 없어서 통신을 보장하지 못함. 주로 영상 스트리밍에서 사용.</div><div>TCP(Transmission Control Protocol)</div><ul><li>Reliable, in-order delivery</li><li>Discarding of corrupted packets</li><li>Retransmission of lost packet</li><li>Flow control: sender와 receiver 사이의 전송 속도를 조절함&nbsp;<ul><li>Stop-and-wait flow control: 세그먼트 하나를 보내고 ACK를 날리고, 다시 전송을 반복. 낮은 효율</li><li>Pipelining increases utilization: 세그먼트 여러개를 병렬적으로(pipelining) 전송한다.</li><li>Sliding-window flow control: window size 만큼 세그먼트를 병렬적으로 전송하며, 여러 ACK는 하나의 메시지로 간주된다(cumulative ACK)</li></ul></li></ul><div><br></div><div>Sliding-window flow control</div><ul><li>Congestion control: traffic이 몰려서 Router의 buffer가 넘칠 경우에 제어<ul><li>Slow start: window의 수가 threshold 미만일 경우 2배수로 증가하고, 그 이후에는 linear하게 증가한다. congestion으로 인해 timeout이 발생할 경우 현재 window의 절반을 threshold로 재설정하고 window를 1로 낮춘다.</li></ul></li><li><br></li><li>Slow start<ul><li>fast retransmit: 3 dupack 이후에는, window size를 절반으로 줄인다.</li></ul></li><li>Error control: 노이즈 등 에러 발생 시 제어<ul><li>Stop-and-Wait ARQ: sender가 패킷을 전송할 때, timeout을 설정하여 해당 시간 내에 ACK가 도착하지 않으면 재전송한다. 데이터가 제대로 전송되지 않거나, ACK가 유실될 때의 경우.</li><li>Go-back-N ARQ: sliding-window 방식을 사용할 때, 데이터를 제대로 수신하지 못한 패킷과 이후로 도착한 패킷들은 모두 폐기하고, 해당 패킷들을 다시 전송받는다.</li></ul></li><li><br></li><li>Go-back-N ARQ</li><li><br></li><li>cumulative ACK</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 10:56:34 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344890044</guid>
      </item>
      <item>
         <title>B1 이병규</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344899719</link>
         <description><![CDATA[<div>AIoT 5장</div><div>&nbsp; &nbsp;</div><div>● Network Layer Services</div><div>Packet을 보낼때마다 header에 IP 주소를 적어보냄</div><div>라우터들이 안전하게 목적지까지 packet을 보냄</div><div>&nbsp; &nbsp;</div><div>● Network Layer</div><div>Data를 입력측에게 받아서 출력측으로 보내는 역할</div><div>Forwarding : 라우터가 data를 입력측에게 받아서 어떤 출력측으로 전달하는 행위</div><div>Routing : 어느 곳으로 보낼지 주소를 보고 판단하는 행위</div><div>&nbsp; &nbsp;</div><div>● Taxonomy of Networks (Network core)</div><div>Circuit switching : 옛날 전화 방식, Circuit을 만들고 data를 전달하고 Circuit을 끊는 방식, 한번 Circuit이 만들어지면 장기간 소통할 수 있다는 장점이 있지만 채널의 낭비가 있다는 단점이 존재</div><div>Message switching : Circuit의 생성없이 바로 message를 보내는 방식, Message의 길이가 길면 전송시간이 길어질 수 있고 라우터가 커야함</div><div>Packet switching : Message switching방식의 일부, 긴 message를 여러 개의 작은 packet으로 나눠서 보내는 방식, 라우터가 다른 경로를 안내해주면 data의 도착순서가 바뀔 수 있음, Message를 한번에 보내는 것보다 packet으로 나눠서 보내기 때문에 전송속도가 빠름, packet의 길이보다 data header 길이의 영향이 더 커지게 되면 많이 나눠도 속도가 느려짐</div><div>&nbsp; &nbsp;</div><div>● Routing Algorithm</div><div>라우팅 table을 만드는 algorithm</div><div>각 라우터들이 스스로 계산</div><div>Link State routing algorithm : a.k.a. Dijkstra’s Algorithm, 각 라우터끼리 경로와 cost를 교환 후 topology생성 -&gt; 여러 경로의 cost를 비교 후 가장 작은 값을 가지는 경로 선택 -&gt; 라우팅 table 생성</div><div>Distance vector routing : bellman-ford algorithm, 이웃한 라우터에게서 라우팅 table을 받아서 경로 계산 가능</div><div>&nbsp; &nbsp;</div><div>● Hierarchical routing</div><div>대표 라우터들을 선정 후 라우팅 table을 생성</div><div>&nbsp; &nbsp;</div><div>● IP addresses</div><div>class A : 7bit Net ID와 24bit Host ID로 할당&nbsp;</div><div>class B : 14bit Net ID와 16bit Host ID로 할당</div><div>class C : 21bit Net ID와 8bit Host ID로 할당</div><div>class D</div><div>class E</div><div>Net ID : 기관에서 사용하는 ID</div><div>Host ID : Net ID를 제외한 ID</div><div>subnet Addressing : 효율적인 사용을 위해 Host ID를 Subnet ID로 나눠서 사용</div><div>IP address가 부족하기 때문에 IPng를 해결책으로 제시했으나 모든 장비를 바꿔야 하기 때문에 short term solution이 등장(IETF)</div><div>CIDR (Classless Inter-Domain Routing) : class에 상관없이 IP를 x로 나눠 Network부분을 알려주고 나머지 부분인 Host를 알려주는 방식</div><div>Manual configuration : 개인에게 IP하나를 할당하는 방식</div><div>DHCP : 임시 IP 주소를 할당받아 해당 장소에서 사용한 후 반납하는 방식</div><div>&nbsp; &nbsp;</div><div>● NAT (Network Address Translation)</div><div>IP 주소 부족문제를 해결하기 위한 하나의 방법</div><div>주소하나로 여러 Host를 연결할 수 있는 방식</div><div>공적으로 할당받은 인정된 IP에서 여러 사설 IP를 만들어 Host들에게 할당</div><div>Host가 사설 IP를 라우터에게 전달 -&gt; 라우터는 sender를 바꾸고 자신으로 바꾸고 공적 IP로 전달 -&gt; 결국 라우터는 공적 IP를 Host에게 전달</div><div>&nbsp; &nbsp;</div><div>● Time to Live</div><div>몇 번의 라우터를 거쳐 목적지까지 가는지 측정하는 용도로 사용</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div>AIoT 6장</div><div>&nbsp; &nbsp;</div><div>● Transport layer protocols</div><div>Sender가 보낸 data가 Destination에 정확히 도착했는지 알아보는 역할</div><div>&nbsp; &nbsp;</div><div>● Internet Transport Protocols</div><div>- UDP : 전송이 제대로 되지 않아도 상관없는 data의 전송에 사용, 기본적인 골격만 있는 Internet Transport Protocol, 전송이 전달이 잘 안될 수도 있음, sender와 receiver사이에 사전 contact없이 전달하는 protocol, 멀티미디어 파일을 streaming할 때 많이 사용</div><div>TCP : 전송이 제대로 되어야만 하는 data의 전송에 사용, 정확하게 도착해야함, 잘못 전달된 packet을 버려야함, 잃어버린 packet들은 retransmission해야함, Congestion control, End-to-end Flow Control, Error Control</div><div><br></div><div>● TCP Flow control</div><div>Receiver가 ack를 보낼 때 가능한 메모리 space에 대한 정보를 포함시켜 보내면 Sender가 Receiver를 넘치지 않도록 조절해주는 방식</div><div>Stop-and-wait flow control : Data를 보내고 ack를 받은 다음 두 번째 data를 보내는 방식, 오래기다려야해서 비효율적</div><div>Pipelining : 3개의 데이터를 보내고 첫 번째 데이터의 ack가 도착하면 바로 다음 3개의 데이터를 보내는 방식</div><div>Sliding-window flow control</div><div>&nbsp; &nbsp;</div><div>● Error Control</div><div>Stop-and-Wait ARQ : Lost data packet -&gt; ack가 오지 않을 때 영원히 기다릴 수 없기 때문에 timeout을 정함(timeout은 정상적인 ack가 오는 시간보다 길어야함) -&gt; ack를 손실한 경우도 같음</div><div>- Go-Back-N ARQ : Sliding window에 기초함, error가 난다면 error가 난 packet으로 돌아가 다시 전송하는 방식</div><div>- Corrupted ACKs</div><div>- 1, 2번 ack가 손실돼었지만 3번 ack가 도착한 경우 : 정상적인 상황으로 간주</div><div>- ack가 손실돼어 timeout이 지난 경우 : ack를 수신하지 못한 packet부터 재전송</div><div>&nbsp; &nbsp;</div><div>● TCP Congestion Control</div><div>무선에 비해 상당히 안전한 유선 network을 가정한 protocol&nbsp;</div><div>traffic이 몰려 buffer가 넘치는 상황을 해결하기 위함</div><div>Congestion control by timeout (TCP Taeho) : timeout에 의해 ack이 오지 않으면 ssthresh가 당시 window size의 절반으로 떨어짐 -&gt; window size가 ssthresh까지 다시 2n씩 증가하다가 이후부터는 선형적으로 증가</div><div>Fast Retransmit Mechanism : ssthresh값이 당시 window size의 절반으로 줄어듬 -&gt; window size가 1부터 시작하지 않고 ssthresh값부터 선형적으로 증가</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:05:14 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344899719</guid>
      </item>
      <item>
         <title>C2 최진성</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344904867</link>
         <description><![CDATA[<div><br>5장 Network Layer &amp; IP</div><div>&nbsp;</div><div>l&nbsp; 네트워크 레이어 서비스</div><div>-&nbsp; &nbsp; Sender가 보내는 데이터를 리시버에게 안전하게 전달하는 역할을 함.</div><div>-&nbsp; &nbsp; 컴퓨터 네트워크에서는 패킷 데이터를 보낼 때마다 헤더에 주소를 써서 보낸다.</div><div>[기능]</div><div>-&nbsp; &nbsp; Forwarding: 결정된 것을 보고 전달하는 역할</div><div>-&nbsp; &nbsp; Routing: 주소를 보고 어디에 보낼 지를 결정</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;[커뮤니케이션 네트워크]</div><div>-&nbsp; &nbsp; Circuit-switching</div><div>&nbsp; &nbsp;Circuit을 만듦</div><div>&nbsp; &nbsp;통화</div><div>&nbsp; &nbsp;Circuit을 끊음</div><div>&nbsp; &nbsp;장점: real-time으로 오랫동안 통화하기에 좋다</div><div>&nbsp; &nbsp;단점: 위와 같은 이유로 채널의 낭비가 존재</div><div>-&nbsp; &nbsp; Message Switching</div><div>-&nbsp; &nbsp; Packet-switching</div><div>&nbsp; &nbsp;하나의 데이터를 여러 개의 패킷으로 쪼개서 간다</div><div>&nbsp; &nbsp;순서가 뒤바꿔서 전달: 순서를 재정비 함</div><div>&nbsp; &nbsp;무조건 잘게 쪼개는 것이 좋은 것은 아님, 많은 헤더가 필요하다</div><div><br></div><div>-&nbsp; &nbsp; 라우팅 알고리즘</div><div>&nbsp; &nbsp;라우팅 테이블을 만드는 과정</div><div>&nbsp; &nbsp;최적의 경로로 가는 방법</div><div>(1)&nbsp; &nbsp; Link state routing algorithm</div><div><br></div><div>-&nbsp; &nbsp; Dijkstra’s Algorithm</div><div>&nbsp; &nbsp; 각각의 노드는 network topology 알고 있습니다.</div><div>&nbsp; &nbsp; 선택이 되면 라우팅 테이블을 만든다.</div><div>&nbsp;</div><div>(2)&nbsp; &nbsp; Distance vector routing</div><div>-&nbsp; &nbsp; 각 노드들이 이웃과 주고 받는다.</div><div>-&nbsp; &nbsp; 각자가 가지고 있는 라우팅 테이블을 활용해서 계산한다.</div><div>-&nbsp; &nbsp; 실제는 대표 라우터를 선정하고 라우팅 테이블을 만들고 내부에서 라우팅 테이블을 만듦.</div><div>2.&nbsp; &nbsp; &nbsp;IP (Internet Protocol)</div><div>(1)&nbsp; &nbsp; IP address</div><div>-&nbsp; &nbsp; 32bit IP address</div><div>-&nbsp; &nbsp; Host ID</div><div>-&nbsp; &nbsp; Net ID</div><div><br></div><div>-&nbsp; &nbsp; Subnet mask</div><div>-&nbsp; &nbsp; 몇 비트를 사용할 지는 각 기관에서 알아서 함.</div><div>-&nbsp; &nbsp; IP 어드레스가 많이 필요해서 이를 해결하기 위한 방법</div><div>&nbsp; &nbsp; IETF solution</div><div>&nbsp; &nbsp; CIDR: 클래스 A, B, C 상관 없이 함</div><div>&nbsp; &nbsp; -&nbsp; IP 어드레스를 할당함</div><div>&nbsp; &nbsp; 어드레스를 다양하게 할당함.</div><div>&nbsp; &nbsp; IP 어드레스 할당방식</div><div>&nbsp; &nbsp; 매뉴얼 Configuration</div><div>&nbsp; &nbsp; -&nbsp; DHCP</div><div>&nbsp; &nbsp; -&nbsp; NAT</div><div>&nbsp; &nbsp; IP어드레스 하나에 다양한 호스트를 연결할 수 있다.</div><div>-&nbsp; &nbsp; IP layering</div><div>&nbsp; &nbsp; ICMP</div><div>&nbsp; &nbsp; IGMP</div><div>&nbsp; &nbsp; ARP</div><div>-&nbsp; &nbsp; TTL</div><div>&nbsp;</div><div>3.&nbsp; &nbsp; &nbsp;Transport Layer protocols</div><div>-&nbsp; &nbsp; 센더가 보낸 데이터가 데스티네이션에 잘 도착했는지에 여부 등의 일을 하게 됨.</div><div>-&nbsp; &nbsp; UDP</div><div>&nbsp; &nbsp; 간단한 프로토콜</div><div>&nbsp; &nbsp; 기본적이 골격만 유지</div><div>&nbsp; &nbsp; 전송이 안되면 어쩔 수 없음</div><div>&nbsp; &nbsp; Ex) 멀티미디어 어플리케이션에서 스트리밍 할 때 주로 사용함.</div><div>&nbsp; &nbsp; 간단한 에러 체킹</div><div>-&nbsp; &nbsp; TCP</div><div>&nbsp; &nbsp; 속도보다 정확함이 중요함.</div><div>&nbsp; &nbsp; Ex) 은행간 거래, 완전히 정확해야 할 때</div><div>&nbsp; &nbsp; 에러가 있으면 안됨.</div><div>&nbsp; &nbsp; Congestion control</div><div>&nbsp; &nbsp; End-to-end Flow control</div><div>&nbsp; &nbsp; Error control</div><div>(1)&nbsp; &nbsp; TCP Flow control</div><div>&nbsp; &nbsp; Stop-and-wait flow control</div><div>&nbsp; &nbsp; Sliding-window flow control</div><div>(2)&nbsp; &nbsp; Error control</div><div>&nbsp; &nbsp; ARQ</div><div>&nbsp; &nbsp; Classification</div><div>-&nbsp; &nbsp; Stop-and-Wait ARQ</div><div>&nbsp; &nbsp; Error free operation</div><div>&nbsp; &nbsp; Lost data packet</div><div>-&nbsp; &nbsp; Go-Back-N ARQ</div><div>&nbsp; &nbsp; Corrupted data packet</div><div>&nbsp; &nbsp; Corrupted ACKs</div><div>(3)&nbsp; &nbsp; TCP Congestion Control</div><div>-&nbsp; &nbsp; Congestion control by timeout</div><div>-&nbsp; &nbsp; Fast Retransmit</div><div>&nbsp; &nbsp;3dupack이 오면 현재 값에 반으로 떨어지고 리니어 하게 증가함.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:10:30 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344904867</guid>
      </item>
      <item>
         <title>C2 이혜원</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344917461</link>
         <description><![CDATA[<div>5장<br><br>* Networ layer service<br>- sender가 보낸 내용을 receiver에 안전하게 전달<br><br>* Network Layer<br>- 입력층에서 데이터를 받아서 출력층으로 보낸다.<br>-forwarding : 어느 곳으로 보내야 될지를 주소를 보고 판단하는 행위<br><br>* Circuit switching<br>- 옛날 전화방식으로 송신자가 회선을 미리 예약하여 회선을 생성하고 통화 후 종료한다.<br><br>* Message Switching<br>- 미리 circuit을 만들지 않고 packet단위로 쪼개서 보내 시간을 단축시킨다. header가 너무 많다면 시간이 더 오래걸린다.<br><br>* Routing Algorithnms<br>- router가 routing table 을 잘 만들어 놓으면 header의 주소를 보고 수신지까지 잘 전달한다. 각자 스스로 계산하는 알고리즘<br><br>1. Link state routing<br>- 각각의 노드가 연결되어 있는 노드끼리 각자의 코스트 값을 교환한다.<br>ex) Dijkstra's Algorithm<br>2. Distance vector routing<br>- 이웃노드끼리 routing table을 공유한다.<br>ex) Hierarchical routing<br><br>* IP addresses<br>- 5개의 class로 구분된다.<br>- net ID(구매한 기관의 id),host id(구매한 기관이 이용할 수 있는 ip addresses)<br><br>* Subnet Addressing<br>- host ID를 효율적으로 쓰기 위해 쪼개서 사용 가능<br><br>* CIDER<br>- hostID를 제외한 나머지 32bit에 대해서 효율적으로 class a,bc를 사용하기 위한 방법<br><br>* NAT<br>- IP주소가 부족할 때 할당받은 IP주소 하나를 가지고 많은 호스트를 연결하는 방법<br><br>* IP<br>- 통신에 쓰인다.<br><br>* ICMP<br>- network를 제어 한다.<br>* IGMP<br>- 멀티캐스트를 하기 위해 정의 한다.<br><br>6장<br>* Transport layer protocols<br>- sender가 보낸게 잘 도착했는지<br><br>* Internet Transport Protocols<br>- UDP : 잃어버려도 됨 덜 중요 속도가 빠르다.<br>- TCP :&nbsp; 속도가 느리고 깐깐하게 진행시킨다<br><br>1) TCP Flow control<br>- stop and wait flow control : 하나보내고 stop한 후 잘받았다고 확인한 수 하나 보내는 방법</div><div><br>2) Sliding-window-flow control<br>- 여러 패킷을 보내고 ACK가 올때마다 다음단계를 보낸다.&nbsp;<br><br>* Error control<br>- stop and wait arq:<br>lost data peration : sender는 일정시간안에 ack를 받지 못하면 재전송한다.<br>lost ack timeout : ack가 time out시간에 다시오지않으면 다시 재전송한다.<br><br>* Go back n arq<br>- corrupted acks : w=3일떼 1,2번이 안왔는데 3번이 온 경우 다보낸후&nbsp; timeout전에 ack3가 다시 온다.<br><br>* TCP Congestion Control<br> Congestion control by time out<br>- ssthresh 가 넘으면 linear하게 증가하다가 timeout 에 의해 packet이 오지 않으면 ssthresh값을 현재값의 반으로 떨어져 일부터 시작한다.<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:22:36 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344917461</guid>
      </item>
      <item>
         <title>C4 장수명</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344921696</link>
         <description><![CDATA[<div>[<strong>5-1장]</strong><br><br>Network Layer Services</div><div>sender가 보낸 데이터를 receiver에 안전하게 전달하는 역할 → ip(network layer의 protocol일)가 주로 하는 일</div><div>packet(데이터)을 보낼 때마다 헤더에 주소를 써서 보낸다 (보내는 + 받는 ip 주소)</div><div><br></div><div>중간에 똥그란 라우터 (= ip address를 보고 패킷을 받아서 어디로 보내서 안전하게 destination까지 도착하게끔 만드는 역할)</div><ul><li>network-layer의 핵심 기능&nbsp;<ul><li>Forwarding&nbsp;<ul><li>라우터가 input 데이터를 받아서 output으로 보내는 역할. 특히 어느 경로로 보낼지를 결정 ← 이때 Routing</li></ul></li><li>Routing&nbsp;<ul><li>어느 곳으로 보내야 할지를 ip 주소를 보고 판단하는 행위</li><li>ip 주소를 보고 패킷이 가야할 receiver 주소를 보고 데이터를 어디로 보내야 하는지를 받아서 forwarding</li></ul></li></ul></li></ul><div>Taxonomy of Networks (Network core)</div><ul><li>Communication networks</li></ul><div>Circuit-switched networks (1G, 2G)</div><ul><li>(예. 유선전화망)</li><li><br></li><li>전화 발신자가 전화 수신자에게 번호를 누르면 미리 회선(circuit)을 미리 예약한다. 이 예약이 완성되면 통화가 가능</li><li>따라서 circuit-switching은 미리 circuit을 여는 행위(call request signal)와 종료 후 끝났다는 것을 알려주는 행위(call accept signal)가 존재함<ul><li>Circuit establishment</li><li>Data transfer</li><li>Circuit termination</li></ul></li><li><br></li><li>장점<ul><li>한번 circuit이 예약되면 real-time으로 오랜시간 통화할 때 좋다. delay이도 없음</li></ul></li><li>단점<ul><li>채널의 낭비가 존재함</li></ul></li></ul><div>Message Switching</div><div>: 미리 circuit을 만들거나 끊는 행위 없이 바로 message를 보내는 방식</div><div>Packet-switched networks</div><div>(3G 이후) (예. 최근 컴퓨터 통신망에서 쓰는 방식)</div><ul><li>pipelining : 긴 메시지를 하나의 패킷으로 보내는게 아니라 중간중간 잘라서 몇 개의 packet으로 나눠서 보내는 방식</li></ul><div>packet을 보낼 때 미리 connection 없이 그냥 데이터를 packet 단위로 쪼개서 보냄</div><div>하나의 데이터가 여러개로 쪼개져서 전송되기 때문에 전송 중 하나라도 밀리게 되면 마치 고속도로가 밀리면 다른 경로로 찾아주는것 처럼 라우터가 다른 경로로 안내해줌 → 따라서 receive 측에 도착하는 순서가 달라질 수 있다. 하지만 이건 문제가 되지 않음. 도착해서 순서를 재정비함</div><div><br></div><ul><li>packet을 잘라서 pipelining</li><li>하지만 message가 길어지면 라우터가 데이터를 전송받고 보내는데 오래걸린다</li><li>또한 message가 크면 라우터의 버퍼 사이즈가 커야한다. 특히 메시지가 여러군데에서 오면 그것들을 모두 저장해야 하기 때문에 데이터를 쪼개서 전송함</li><li><br></li><li>pipelining으로 인해 시간이 훨씬 단축됨</li><li>무조건 잘게 쪼갤수록 좋을까? ㄴㄴ 헤더도 크기를 차지하기 때문에 overhead 발생</li><li><br></li></ul><div>라우터는 패킷을 어디로 보내야 할지에 대한 정보를 어떻게 알지?</div><div>routing algorithms</div><div>Routing Algorithms ← routing table 을 어떻게 만들지? 누가 만들어서 주는게 아니라 라우터들 스스로 계산함 :: distribute route</div><div>:: centrol node가 하나를 만들어서 다 전달하는 것이 아닌 각자가 스스로 계산하는 알고리즘</div><div>라우터는 이웃한 경로까지 가는 cost만 알고 있다</div><div>Link State routing :: Dijkstra 다익스트라 알고리즘</div><div>이웃한 노드와 cost를 알고 있기 때문에 → 각각의 노드는 전체 네트워크 토폴로지를 알고 있다 따라서 서로 정보를 주고 받으면 모든 노드가 똑같은 토폴로지 그림을 만들 수 있다</div><div>→ 각각의 노드가 이 토폴로지를 가지고 shortest routing algorithm을 돌림</div><div><br></div><div><br></div><div>Distance vector routing :: Bellman-Ford 벨만 포드 알고리즘</div><div><br></div><div><br></div><div>Hierarchical routing</div><div>라우터는 정말정말 많음. 이 수많은 라우터들을 똑같이 연산하기에는 너무나 힘들고 라우팅 테이블도 길어지기 때문에 → 현실에서는 구간(~~system)을 나누어 그 구간의 대표 라우터를 선정하고, 대표 라우터들끼리의 알고리즘을 만들고, 내부에서는 별도의 내부 라우팅테이블을 만든다<br><br><br><br><br><strong>[5-2장]</strong><br><br></div><div>IP (Internet Protocol)</div><div>routing algorithm을 실제로 구현하는 프로토콜</div><div>version4. 32bit의 ip address를 전세계적으로 사용하고 있음</div><ul><li>network ID&nbsp;<ul><li>기관의 ID</li></ul></li><li>host ID&nbsp;<ul><li>기관 ID를 제외한 나머지를 할당한 ID</li></ul></li></ul><div><br></div><ul><li>Dotted Decimal Notation</li><li>32비트를 8비트씩 쪼개서 10진수로 쓰는 것</li><li>subnet addressing : 세부 네트워크로 쪼개어 쓰는 것 → subnet mask</li><li><br></li></ul><div>Problems of IP address scheme (class-ful addresses)</div><div>ip 주소 고갈 문제 해결법</div><div>IETF solutions</div><ul><li>IPng (IPv6) - long term solution</li><li>CIDR(Classless Inter-Domain Routing) - short term solution&nbsp;<ul><li>기존의 class 나누는 방식이 아닌, host part가 어디인지 알려주는 방식 → 가변적인, dynamic한 network id → 주소를 아낄 수 있음</li><li><br></li></ul></li></ul><div>그럼 IP address 어떻게 할당?</div><ul><li>Manual configuration</li><li>DHCP (Dynamic Host Configuration Protocol) - 정규 ip 주소가 아니라 임시로 ip 주소를 할당받음</li></ul><div>NAT (Network Address Translation)</div><div><br></div><div>공적인 ip address와 개별적인 ip address의 sender와 Destination의 주소 값을 교환하는 방식</div><div>개별적인 ip address에서 datagram 보냄 → NAT router가 datagram source 주소를 바꿔 NAT translation table을 업데이트함 → 응답 address가 도착 → NAT router가 도착 address의 ip 주소를 datagram에서 찾아 바꿈</div><div>Internet protocol layering</div><div><br></div><div><br></div><div>20byte 아래 실제 데이터가 실려있음</div><ul><li>‘Time to live’ field</li><li>원래는 sender가 receiver까지 보낼 때 걸리는 시간을 측정하는 부분 이었으나 실제로 그렇게 쓰이지는 않고 라우터를 거칠때마나 숫자가 하나씩 줄어들어, 몇 번의 홉을 거쳐서 destination까지 갔는지를 측정하기 위해 사용됨</li><li>4byte = 32bit</li></ul><div><br><br><br><strong>[6장]</strong><br><br>transport layer에서 sender와 receiver 사이에 데이터 전송이 이루어짐</div><div>network layer의 ip가 주소를 가지고 패킷 단위로 보내서 transport layer에 도착함</div><div>그렇다면 sender가 보낸 것이 destination에 잘 도착했는지, 중간에 에러가 났는지, 혹은 트래픽이 몰려 딜레이가 생기는 등 여러가지 상황이 발생할 수 있는데 이때 잘 도착했는지 여부를 점검함</div><div>Transport Layer Protocols</div><div>TCP (Transmission Control Protocol)</div><div>깐깐함. 속도보다는 아주 정확해야 하는 중요한 트래픽을 전송할 때 사용</div><div>(예. 은행에서처럼 잃어버리면 안되는 중요한 정보를 전송할 때 사용)</div><ul><li>TCP의 주요 기능 3가지</li></ul><div>end-to-end flow control</div><div>sender와 receiver 사이의 속도 조절</div><div>sender의 속도가 굉장히 빠른 반면 receiver가 성능이 좋지 않아 전송 속도가 느리고 메모리 공간도 많지 않다고 가정. → 빠른 sender에 비해 그걸 처리할 능력이 안되는 receiver는 버퍼가 금방 넘치게 되고 sender는 쓸데없이 버려지는 걸 보내게 됨. 따라서 sender가 보내는 속도를 조절할 필요가 있다 :: flow control</div><div>sender가 데이터를 보내면 receiver는 잘 받았다고 ACK packet을 보냄. (ACK = acknowledge). 이때 receiver가 가능한 메모리 space에 대한 정보를 포함해서 보내면 ACK가 올 때마다의 속도를 알게 되니 속도 조절이 가능해진다</div><div>→ sender와 receiver가 넘치지 않도록 만들어주는 방식</div><ul><li>Stop-and-wait flow control</li><li>하나씩 보내고 ACK(sender의 남은 버퍼 정보 포함)를 기다림</li><li>하지만 너무 오래 기다려 효율적이지 않음</li><li><br></li></ul><div>Pipelining</div><div><br></div><ul><li>Sliding-window flow control</li><li>여러개를 보내고 올때마다 하나씩을 더 보내는 방식</li><li><br></li><li>여러 패킷을 보내고 패킷을 받는대로 윈도우 사이즈를 옮기면서 다음 패킷을 보내는 방식</li><li>window size와 receiver가 ACK를 보낼 때마다 포함하는 window size의 minimum 값을 window size로 정해서 보내게 됨</li></ul><div>error control</div><div>실수가 용납되지 않음. reliable delivery</div><ul><li>stop-and-wait ARQ<ol><li>Error-free operation</li></ol></li><li><br><ol><li>Lost data packet</li></ol></li><li><br></li><li>sender는 계속해서 ACK을 기다림 → 언제까지? ㅋ 문제가 됨 ⇒ timeout이라는 장치를 둠</li><li>sender는 매번 패킷을 보낼때마다 timer를 돌려 일정 시간안에 ACK를 받지 못하면 바로 retransmission한다</li><li><br><ol><li>Lost ACK timeout</li></ol></li><li>데이터 패킷이 아닌 ACK 패킷이 사라진 경우</li><li><br></li><li>마찬가지로 timer에 걸리면 retransmission 하게 되고 아까 받은 패킷을 버림 (duplicate → discard)</li><li>Go-Back-N ARQ<ol><li>Error-free operation</li></ol></li><li><br></li><li>window size = 3<ol><li>Corrupted data packet</li></ol></li><li><br></li><li>3번은 안왔는데 4번, 5번이 옴..</li><li>그럼 receiver는 ACK 4 를 하지 않고 버려버림 → 3번이 안왔기 때문에 timeout이 걸리게 되고 다시 3-4-5부터 보내게 됨<ol><li>Corrupted AKCs</li></ol></li><li><br></li><li>(a) cumulative ACK : 1.2번 ACK을 못받았는데 3번 ACK을 받은 경우 그 이전의 데이터들을 잘 받았다는 의미이기 때문에 전혀 문제없이 그저 ACK만 못받은거구나 하고 해석함</li><li>(b) time-out 이전에 1번 ACK을 받지 못했기 때문에 1번에 대한 timeout이므로 1번부터 다시 전송함</li></ul><div><br></div><div>congestion control</div><div>sender가 데이터를 보내는데 마치 traffic congestion처럼 고속도로가 밀려 제때 전송이 안되었을 때와 비슷한 상황 - network traffic도 마찬가지로 congestion이 생김</div><div>유선 네트워크를 가정해서 처음 만들었기 때문에 사실 상당히 안전함 → 모든 패킷이 가다가 error가 생기는 경우가 없다고 생각함 → 중간에 router의 버퍼가 넘친 상황으로만 해석함 → 패킷이 loss → traffic 개수를 줄이는 방식을 취함</div><div>TCP assumes that timeouts are caused by congestion</div><ul><li>Slow start (time-out에 의해 패킷이 오지 않은 상황을 detection한 경우)</li><li><br></li><li>ss-threshold를 넘어가는 순간부터 linear하게 증가하도록 함 → time-out에 의해 패킷이 오지 않았다면 → 현재의 절반을 threshold값으로 두고 1로 떨어짐 → 과정 반복</li><li>fast retransmit (time-out이 아닌 timeout전에 3번이 오지 않았고 4번이 옴.. 4번이 와도, 5번이 와도, ACK 3번을 보냄 → 앞에서부터 문제가 되는게 아닌 앞에것은 패킷이 사라졌지만 뒤의 것들은 잘 들어와서 → traffic이 심각하게 congestion하지는 않다고 판단) :: dupack</li><li><br></li><li><br></li><li>threshold가 1로 떨어지는게 아니라 dupack이 나오면 timeout이 아니어서 현재값의 반으로 떨어져 linear하게 증가하는 방식으로 동작 → window size를 조절함으로써 congestion 문제를 해결</li></ul><div>UDP (User Datagram Protocol)</div><div>좀 털털한? 약간 잃어버려도, 전송이 잘 안돼도 큰 문제 없음</div><div>(예. 실시간으로 운동 경기를 시청하는데 중간중간 전송이 잘 안되거나 했는데 retransmission(재전송) 해봐야 이미 지난 시점이기 때문에 TCP를 쓸 이유가 없음. 데이터가 전송되다가 화질이 약간 깨지거나 소리가 잘 안나와도 괜찮을 때 사용)</div><div><br></div><ul><li>‘no frills’, ‘bare bones’ 즉, 프릴이나 군더더기 없는 뼈대만 존재하는 Internet transport protocol</li><li>‘best effort’ service&nbsp;<ul><li>전송이 잘 되면 좋지만 안돼도 어쩔 수 없다는 의미</li></ul></li><li>Connectionless&nbsp;<ul><li>handshaking (미리 sender와 receiver가 컨택) 하지 않고 그냥 바로 전송하는 프로토콜</li></ul></li><li>Often used for&nbsp;<ul><li>패킷이 조금 사라져도 상관없는</li><li>특히 streaming multimedia application에서 스트리밍할때 많이 사용</li></ul></li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:26:14 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344921696</guid>
      </item>
      <item>
         <title>A3 이광열</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344929376</link>
         <description><![CDATA[<div><strong>Chap 5 Network Layer &amp; IP<br></strong><br></div><div><strong>Network layer servies<br></strong><br></div><div>수신자가 보낸 메시지를 송신자에게 안전하게 전달하는 역할<br><br></div><div>패킷에 헤더에 주소를 포함하여 전송<br><br></div><div>라우터에서 주소를 보고 안전하게 수신자에게 전달<br><br></div><div><strong>Network layer역할<br></strong><br></div><div>포워딩: 패킷을 라우터 인풋으로부터 아웃풋으로 전달<br><br></div><div>라우팅: 주소를보고 어느곳으로 보내야될지 판단하는 행위<br><br></div><div><strong>Taxonomy of Networks:<br></strong><br></div><div><strong>Circuit – switched networks<br></strong><br></div><div>1세대,2세대<br><br></div><div>옛날 전화 방식<br><br></div><div>Circuit establishment:전화선(회선) 미리 예약 요청<br><br></div><div>Data transfer:예약이 완성되면 통화<br><br></div><div>Circuit termination:끝나면 종료 신호전달<br><br></div><div>장점: real time으로 오랜시간 통화할 때 좋음,딜레이 적음<br><br></div><div>단점: 채널낭비<br><br></div><div><strong>Packet - switched networks<br></strong><br></div><div>3세대이후<br><br></div><div>Message switching<br><br></div><div>서킷을 만들거나 끊는 행위 없이 바로 메시지 전달<br><br></div><div>메시지가 커지면 버퍼도 커져야함<br><br></div><div>Packet switching<br><br></div><div>긴 메시지를 짧은 패킷으로 나누어 전달<br><br></div><div>패킷을 보낼 때 미리 커넥션 없이 패킷 단위로 전달<br><br></div><div>순서가 바뀌어 받더라도 재정비하여 올바른 메시지 전달<br><br></div><div>Pipe-lining을 통해 전송딜레이 줄임&nbsp;<br><br></div><div>패킷이 너무 많아 지면 헤더가 많아진다-오버헤드 발생<br><br></div><div>라우팅 테이블을 통해 라우터가 목적지로 전달<br><br></div><div>라우팅 알고리즘을 사용 라우팅 테이블 구성<br><br></div><div>각각의 라우터가 스스로 계산하는 알고리즘<br><br></div><div>각각의 노드는 이웃경로의 코스트만 알고 있음&nbsp;<br><br></div><div><strong>Link state routing<br></strong><br></div><div><strong>dijkstra’s algorithm<br></strong><br></div><div>시작점에서 이웃된 모든경로를 비교 가장 짧은 경로 선택<br><br></div><div>이미 있는 값과 다음경로로 이동 후 이웃된 경로의 코스트를 비교 더 작은 값을 선택<br><br></div><div>모든 노드가 연결될 때까지 반복하며 shortest path완성<br><br></div><div><strong>Distance vector routing<br></strong><br></div><div><strong>Bellman-ford algorithm(for nodeX)<br></strong><br></div><div>이웃한 노드로부터 각자의 라우팅 테이블 전달받음<br><br></div><div>목적지까지의 가장 짧은 경로 선택<br><br></div><div>모든 노드에 대해 라우팅 테이블 작성<br><br></div><div><strong>Hierarchical routing<br></strong><br></div><div>구역을 정하여 내부 라우팅 테이블을 만들고 대표 라우팅을 정하여 외부 라우팅 테이블구성<br><br></div><div><strong>IP(internet protocol)<br></strong><br></div><div>IP addresses<br><br></div><div>Ipv4:32bit으로 구성<br><br></div><div>Net id: 조직을 구분하는 id<br><br></div><div>Host id: 조직내의 컴퓨터를 구분하는 id<br><br></div><div>Subnet addressing:<br><br></div><div>조직내부에서 효율적으로 ip를 배분하기 위해 host id를 subnet id와 host id로 나누어 관리<br><br></div><div>Subnet mask:<br><br></div><div>Subnet id와 host id를 구분<br><br></div><div><strong>주소고갈 문제 해결<br></strong><br></div><div>IPng(IPv6)사용<br><br></div><div>Short term solution:<br><br></div><div>CIDR(class-ful addresses)<br><br></div><div>클래스와 상관없이 슬래시로 가변적으로 네트워크 파트와 호스트파트로 구분<br><br></div><div><strong>Ip address할당 방법<br></strong><br></div><div>Manual configuration<br><br></div><div>DHCP-임시ip를 할당받아 사용<br><br></div><div><br></div><div>NAT(Network Address Translation):공적으로 할당받은 ip를 사적아이피로 변환<br><br></div><div><strong>IP는 다양한 프로토콜로 구성<br></strong><br></div><div>Application layer-transport layer-Network layer-Data Link layer<br><br></div><div>Ip는 20byte의 헤더<br><br></div><div>각자 정의된 패킷사이즈가 다르기 때문에 헤더를 쪼개어 관리<br><br></div><div>TTL field<br><br></div><div>몇번의 홉을 거처 목적지로 전달되었는지 기록<br><br><strong>Chap6 Transport Layer<br></strong><br></div><div><strong>&nbsp;<br></strong><br></div><div><strong>Transport layer protocols<br></strong><br></div><div>송수신시 에러, 딜레이 등 여러 전달 상황을 확인<br><br></div><div><strong>UDP<br></strong><br></div><div>No ack,<br><br></div><div>전송이 제대로 안되어도 큰 상관X<br><br></div><div>“Best effort” service<br><br></div><div>Header size:8byte<br><br></div><div><strong>Transmission control protocol (TCP)<br></strong><br></div><div>Reliable delivery 제공<br><br></div><div>속도보다 정확도가 우선<br><br></div><div>Lost pocket시 retransmission<br><br></div><div><strong>Congestion Control<br></strong><br></div><div>End to end flow Control: 송수신자 사이 속도 조절<br><br></div><div>송신자가 보내는 메시지의 양을 수신자가 모두 처리하기 어려운 경우<br><br></div><div>수신자가 가능한 Memory space의 정보를 Ack packet에 포함시켜 전송<br><br></div><div>Stop and wait flow control:<br><br></div><div>메시지를 보내고 ack가 올때까지 멈춘 뒤 ack수신후 다시 메시지 전송<br><br></div><div>효율이 떨어짐<br><br></div><div>&nbsp;<br><br></div><div>Sliding-window flow control<br><br></div><div>:여러 패킷을 보내고 ack수신에 따라 window size를 옮기면서 다음 패킷을 전송<br><br></div><div>Receiver’s advertised window와 congestion window사이를 비교 더 작은 값을 window size로 설정<br><br></div><div><strong>Error Control:</strong> 에러의 여부 파악 및 대응 판단<br><br></div><div>Stop and wait ARQ<br><br></div><div>Sender가 ack를 받지 못하면 계속 wait상태-&gt;time out을 설정하여 시간내 ack을 전달받지 못하면 retransmission<br><br></div><div>Go-back-N ARQ<br><br></div><div>window사이즈 만큼 패킷을 보내고 ack신호를 수신하면 window를 이동하며 다음 패킷 전송<br><br></div><div>패킷이 사라진경우<br><br></div><div>패킷이 전송 실패하면 receiver는 해당 ack부터 전송을 하지 않고 sender는 남은 메시지를 모두 전달 후 ack를 받지 못한 패킷부터 다시 전달<br><br></div><div>Ack가 사라진경우<br><br></div><div>1)Cumulative acks:Time out안에 다음 ack을 수신 받으면 그 전의 ack는 전송 받지 못하여도 메시지를 잘 전달 받았다고 판단<br><br></div><div>2)Time out안에 패킷을 전달 받지 못하면 sender는 전달받지 못한 메시지부터 다시 전달<br><br></div><div>TCP segment Format<br><br></div><div>Header size:20bytes<br><br></div><div>TCP congestion control<br><br></div><div>Window size를 조절하여 congestion 문제해결<br><br></div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:33:00 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344929376</guid>
      </item>
      <item>
         <title>A3 윤기성</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344931196</link>
         <description><![CDATA[<div>5장-1 Network Layer &amp; IP<br><br><br>network layer servies - 네트워크는 중요한 역할을 함, sender가 보낸 data를 receiver가 안전하게 받을 수 있도록 함, 헤더에 sender와 receiver의 주소(IP)를 적음, 라우터를 통해 IP 주소를 보고 어디로 안전하게 보내야 하는지 판단<br><br>network layer<br>- forwarding - 입력(sender) 라우터측에서 받아서 출력(receiver) 라우터측으로 보내는 일<br>- routing - 주소를 보고 어디로 보내야 하는지 판단<br><br>communication networks = circuit-swirched networks(1,2세대) + packet-switched networks(3,4세대)<br>circuit switching - 옛날 전화선 방식, 서킷을 만들고 데이터를 전송하고 서킷을 제거하는 3단계로 이루어짐, real-time으로 오랜 시간 통화할 때 딜레이가 없는 점이 장점, 채널의 낭비가 존재하는 점이 단점<br>packet switching - 긴 메시지를 하나의 패킷이 아니라 여러 패킷으로 나누어 보내는 방식, receiver 측에 도착 순서가 다를 순 있지만 순서를 재정비 함, pipe-lining, 많이 쪼갠다고 빨리 보내는 것은 아님<br><br>routing algorithms(중요) - 라우터들이 목적지에 따라 어느 경로로 보내야 하는지(어느 node를 거쳐야 하는지) cost를 고려하여 스스로 계산을 함<br>1. link state rouing algorithm(dijkstra's algorithm)<br>- 각각의 node들은 자기들끼리 연결된 이웃한 node와 cost를 알고 전체 network topolgy를 앎, node들이 가장 cost가 적은 경로를 찾기 위해 algorithm을 돌림, 모든 목적지로 가능 가장 짧은 경로를 계산할 수 있음<br>2. distance vector routing algorithm(bellman-ford algorithm)<br>- 인접 노드들하고만 정보를 주고 받음, 예를 들어 j에서 나머지 모든 노드로 가는 routing table을 만든다면 j와 이웃한 a,i,h,k로부터 table을 받음, 자신의 인접 노드에 관한 정보와 인접 노드에게 받은 table을 참고하여 최소 cost를 계산함, 이를 통해 스스로의 routing table을 만듦<br><br>hierarchical routing - autonomous system에서 대표 router를 선정하고 대표 router들끼리 routing table을 만들고, 하위 router끼리 routing table을 만듦<br><br><br><br>5장-2 IP(Internet Protocol)<br><br><br>IP addresses - (net ID, host ID)로 이루어짐, A~E까지 5개의 클래스로 구성<br>class A - 0으로 시작, net id에 7bit, host id에 24bit 할당, range : 0.0.0.0~127.255.255.255<br>class B - 1, 0으로 시작, net id에 14bit, host id에 16bit 할당, range : 128.0.0.0~191.255.255.255<br>class C - 1,1,0으로 시작, net id 21bit, host id 8bit 할당, range : 192.0.0.0~223.255.255.255<br>class D와 E도 있음<br><br>subnet addressing - host id 부분을 더 효율적으로 쓰기 위해 host id를 subnet id와 host id 2부분으로 나눔, 몇 비트로 쪼갰는지 알게끔 하는 것을 mask라고 부름<br>problems of IP address scheme<br>- 인터넷이 폭발적으로 성장하는 바람에 IP 주소가 모자라게 됨, 이를 해결하기 위해 IETF의 해결책은 IPv6임 그런데 모든 장비를 바꿔야 함<br>- short time solution = CIDR임, 주소 마지막 부분에 /(slash)와 숫자를 더해서 5bit가 host part임을 나타냄<br><br>IP 주소를 할당받는 방법 - manual configuration / DHCP(dynamic host configuration protocol) 정규 ip주소가 아니라 임시 ip주소를 할당 받고 거기서만 사용하고 다시 반납하는 방법<br><br>NAT(network address traslation)<br>- IP 주소 부족 문제를 해결하기 위한 방법, IP 주소 하나를 가지고 호스트를 많이 연결할 수 있음<br>- 공적으로 할당받은 IP에서 여러 사설 IP를 만들어 호스트에게 할당<br>- sender가 사설 IP를 통해 어떤 데이터를 목적지(destination)로 보냄, 라우터가 그것을 받아서 다른 인터넷으로 보내면서 NAT translation table에 sender의 주소와 목적지를 기록함, 그리고 라우터가 sender의 주소를 공적 IP 주소(자기 자신)로 바꿔치기함(목적지는 그대로), 답장(reply)이 오고 sender와 destination이 라우터가 보낼 때와는 반대(뒤바뀐)되는 상황, 그리고 아까의 table을 참고하여 destination(라우터의 공적 IP)을 원래 sender 주소로 바꿔치기해서 원래 sender에게 전달함<br><br><br>IP(internet protocol)<br>- 다양한 protocol이 있음, application layer -&gt; transport layer -&gt; network layer -&gt; data link layer 4개의 layer가 있고 각 layer에 여러 protocol이 있음<br>- ip는 20bit의 헤더가 있고 그 뒤에 실제 데이터가 따라옴, 현재 version 4의 ip를 사용하고 있음<br>- physic한 네트워크들은 별도의(각각의) 언어를 씀, 각 네트워크의 패킷 사이즈가 있음(다를 수 있음), 한 네트워크에서 다른 네트워크로 갈 때 패킷 사이즈가 쪼개질 수 있음<br><br><br><br>6장 Transport Layer<br><br><br>transport layer protocols - sender와 reciever 사이에 데이터 전송이 이루어지고, network layer의 ip가 패킷 단위로 보내서 목적지로 도착함. 중간에 에러가 났는지 등 문제가 발생했는지, 잘 도착했는지의 여부를 확인함<br>internet transport protocols<br>- User Datagram Protocol(UDP) - 손실이 좀 있어도 되고 전송에 문제가 약간 있어도 괜찮을 때 사용, 재전송 없음-&gt;실시간 중계 등에 사용<br>- Transmission Contro Protocol(TCP) - 속도보다는 중요한 내용이 있을 때 TCP 사용, 에러가 있으면 안되고 정확해야 함, packet이 사라지면 재전송함<br><br>UDP - 가장 기본적인 internet transport protocol<br>- best effort servie : 전송이 잘 되면 좋지만 안되도 어쩔 수 없다. 최선은 다해보겠다.<br>- sender, receiver 사이의 handshaking이 없고 바로 보내는 protocol<br>- streaming 할 때 씀<br><br>TCP(중요) - data 교환 전에 TCP 연결을 설림<br>- congestion control - 데이터 송신자가 데이터를 보내는데, 데이터가 제 때 전송이 되지 않을 때(congestion) 사용<br>- end-to-end flow control<br>- error control - 에러 발생 시 사용<br><br>TCP flow control<br>- sender는 성능이 좋음, receiver는 성능이 좋지 않아서 처리 속도가 느림<br>- sender가 많이 보내는 데 비해 receiver는 많이 처리 못함(receiver가 받으면 ack 신호를 다시 보냄)<br>- receiver가 처리 가능한 space를 같이 알려주면 sender가 receiver를 고려하여 데이터를 전송함<br>- stop-and-wait flow control : 하나 보내고 ack 받고 또 하나 보내고 하는 방식, 근데 효율이 좋지 않음<br>- sliding-window flow control : 여러 패킷을 보내고 ack 패킷을 받는대로 window size를 오른쪽으로 보냄, 그림의 window size와 receiver가 ack에 넣어서 보내는 window size값 중 더 작은 값을 window size로 채택한다<br><br>TCP error control<br>- go-back-N이 많이 쓰임<br>- stop-and-wait ARQ : 하나 보내고 ack 받고 또 보내고를 반복, 그런데 ack가 오지 않으면 계속 기다림, 영원히 기다릴 수 없으므로 timeout을 줌 = 일정 시간 안에 ack을 받지 못하면 패킷을 재전송, receiver의 ack을 sender가 받지 못한 경우에도 sender가 다시 재전송함<br>- go-back-N ARQ : 위의 sliding 방식과 비슷, 예를 들어 0,1,2(여러개의) 패킷을 보냄, receiver가 0을 받고 ack을 보내면 sender는 3을 보냄, 1을 받고 ack을 보내면 sender는 4를 보냄... 이런 식으로 반복, 그런데 0~5부터 보냈는데 0,1,2,4,5는 잘 받고 3은 못받음, 그러면 receiver는 못받은 3에 대한 ack만 보내는게 아니라 3,4,5를 다시 받고 3,4,5의 ack을 3부터 다시 보냄<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : 만약 0,1,2,3을 보내고 0에 대한 ack을 받고 1,2에 대한 ack을 못받은 후 timeout 안에 3에 대한 ack을 받았다면, sender는 사실 아무 문제가 없다고 여겨서 계속 패킷을 보냄(cumulative) 즉, 3에 대한 ack을 받았으므로 1,2에 대한 ack도 잘 받았다고 인식, timeout에 대한 ack을 받지 못한 경우는 재전송함<br><br>TCP segment format 이런게 있음<br><br>TCP congestion control<br>- 교통정체처럼 데이터 혼잡상황을 해결하는 것에 관한 protocol, 유선 네트워크를 가정하고 만듦<br>- tcp congestion control by timeout : congestion window size는 1로 시작, ack이 잘 오면 2^n씩 증가함(1,2,4,8,...), ssthresh값까지 ack이 오면 그 이후로는 1씩 증가해서 선형적으로 증가, timeout에 의해 패킷이 오지 않으면 현재값의 절반을 thresh로 두고 다시 1로 떨어짐. 이를 반복(slow start)<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : dupack이 나오면 timeout이 아니라서 현재값의 절반으로 떨어지고(1로 떨어지는거 아님) 이후 1씩 선형적으로 증가<br>&nbsp;<br>TCP의 congestion contro, error control, flow control 셋은 모두 연관이 있음</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:34:36 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344931196</guid>
      </item>
      <item>
         <title>A4 박규리</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344935979</link>
         <description><![CDATA[<div>(5장 Network Layer &amp; IP)<br>[Network의 역할]<br>수신자의 주소를 보고 forwarding을 하는데 그 과정에서 routing(어디로 보낼지 주소를 보고 판단하는 행위)<br><br>[circuit switching]<br>옛날 전화방식: 회선을 미리 예약하여 사용<br>circuit 생성/data 전송/연결끊음<br>+) 예약이 되기때문에 real time으로 통화가능<br>&nbsp; &nbsp; delay 발생 X<br>-) 채널의 낭비 존재<br><br>[message switching]<br>메시지를 바로 보냄<br>-) 메시지가 길어지는 경우 딜레이가 길어지고 buffer의 큰 사이즈가 요구됨<br><br>[packet switched network]<br>- data를 쪼개어 쪼갠 packet을 전송<br>+) 시간 단축<br>- 하지만 무조건 잘게 자르는 것이 좋은 것은 아님<br><br>[Routing Algorithms]<br>- routing table을 만드는 알고리즘<br>- 각각의 노드는 이웃한 라우터까지의 cost만 알고 있음<br>(1) Link State routing algorithm<br>- 각각의 노드가 이웃한 노드와의 cost를 알고 있으므로 그 정보를 교환하여 table완성<br><br>(2) Distance vector routing algorithm<br>- 이웃한 노드와의 정보를 근접노드와만 공유하여 table완성<br>&nbsp;<br>[Hierarchical routing]<br>- 너무나 많은 router가 있기 때문에 대표 라우터가 table을 만들고 내부에서는 각각의 table을 따로 만드는 것<br><br>[IP:internet protocol Address]<br>- 5가지 클래스로 구분이 되며 각 클래스는 net ID와 host ID로 나뉨(class B사용자가 가장 많음)<br><br>[subnet Addressing]<br>- 적은 host ID를 효율적으로 사용하기 위해 subnet ID와 host ID로 나누어 건물-층 등으로 활용함<br>- subnet mask: 몇 비트로 나누었는지 알기 위함<br><br>[problems of IP address scheme]<br>ip주소 할당이 부족한 문제를 해결하기 위해<br>- long: IPv6(ip의 새로운 버전을 생성)<br>- short: CIDR(클래스에 상관없이 슬래시뒤에 네트워크 part를 명시하여 나머지는 host part로 할당) =&gt; ip address를 아낄 수 있게 됨<br><br>[DHCP]<br>정규가 아닌 임시 ip address 할당 방식<br><br>[NAT]<br>- 공적 ip이외에 사적ip를 내부에 따로 할당하여 사용<br><br>(6장 Transport Layer)<br>[transport layer protocols]<br>보낸 데이터가 잘도착했는지, 오류가 났는지, 딜레이가 있는지 등을 확인하는 프로토콜<br>- TCP: 엄격한 기준, 정확한 정보 전달(은행간의 송금 등)<br>- UDP: 상대적으로 유연한 기준<br><br>[UDP]<br>- 장식 없고 기본적이 골격만 존재<br><br>[TCP]<br>(1) End-to-end Flow control: sender가 reciver를 넘치지 않게 만들어주는 방식<br>- sender가 보낸 데이터를 reciver가 따라잡지 못하면 문제가 발생하므로 전송받은 데이터를 잘 받았다는 ack신호를 보낼때 buffer정보를 포함하여 보냄 =&gt; sender가 buffer정보를 보고 전송신호 조절함<br>- stop and wait flow control: 하나씩 전송(비효율적)<br>-&nbsp; sliding window flow control(pipeling): ack가 오면 보내는 방식, window size = min(reciver's advertised window, congestion window)<br>&nbsp;&nbsp;<br>(2)&nbsp; Error control: error에 대응하는 방법<br>- stop-and-wait ARQ: tmeout시간동안 ack가 오지 않으면 error인지<br>- continuous ARQ (Go-Back-N): sliding 방식 이용,&nbsp; error발생시 해당 번호로 돌아가서 그때부터 나머지 packet을 전송<br>&nbsp;<br>(3)&nbsp; Congestion control<br>유선네트워크를 기반하여(error발생시 중간 라우터의 buffer가 넘친것) 트래픽이 몰린 상황을 조절<br>- timeout: window size가 미리 정한 ssthresh까지 증가, 이후 선형적으로 증가 =&gt; time out에 의해 packet이 오지 않았다면 현재값의 반을 ssthresh값으로 두고 1로 떨어져서 증가 (slow start )<br>- duplicate Acks: 3 dupack =&gt; window size가 현재값의 반으로 떨어져서 증가</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:38:38 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344935979</guid>
      </item>
      <item>
         <title>B4 신형진</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344946432</link>
         <description><![CDATA[<div>5.2장 Network Layer Services<br>&nbsp;<br>&nbsp;(1) Network Layer<br>&nbsp;<br>&nbsp;- Routing : 주소를 보고 어디로 보낼지를 판단하는 행위<br>&nbsp;<br>&nbsp;- Forwarding : router을 보고 전달하는 행위<br>&nbsp;<br>&nbsp;(2) Circuit switching<br>&nbsp;<br>&nbsp;- 옛날 전화 방식<br>&nbsp;- Circuit을 만듦, 미리 예약, Circuit을 끊는 행위<br>&nbsp;- 오랜시간 통화시 매우 좋음<br>&nbsp;- Channel의 낭비 존재<br>&nbsp;<br>&nbsp;(3) Packet Switching<br>&nbsp;- 데이터를 전송시 커넥션 없이 packet 단위로 끊어서 보냄<br>&nbsp;- 밀리면 순서가 바뀜<br>&nbsp;- 시간을 단축 가능(Pipe line)<br>&nbsp;<br>&nbsp;(4) Routing Algorithms<br>-&nbsp; cost가 가장 적은 경로로 이동<br><br>(5) Link state routing algorithm<br>- 각각의 node를 활용하여 Dijkstra's Algorithm 활용<br>- 최적의 routing pass를 찾음<br>- routing table을 만든다.<br>-&nbsp; Bellman-Ford Algorithm<br>(a) 이웃한 곳과 데이터를 주고 받음<br>(b) routing table을 활용하여 계산<br>(c) 이웃한 곳으로 부터 routing table을 받아서 계산<br><br>(6) Hierarchical routing<br>- 대표 router들을 설정<br>- 대표 router끼리 데이터를 주고 받음<br><br>5.2장&nbsp; IP<br><br>(1) IP addresses<br>- host 부분과 net 부분으로 나뉨<br>- 5가지 class로 구분<br>- class B를 가장 많이 구매<br><br>(2) Subnet Addressing<br>- 체계적으로 관리 가능<br>- Host net을 구매 후 sub net으로 나눠서 사용<br>- subnet mask를 사용하여 나눠진 정도를 확인<br><br>(3) Problems of IP address scheme<br>- IPv6를 만들자<br>- CIDR 많이 사용<br>- IP address를 할당<br>- DHCP 임시 IP address로 사용 후 반납<br>- NAT<br><br>(4) Time to Live<br>- router를 거칠 때 마다 숫자가 줄어드는데 이때, 몇 번 거쳐서 갔는지 알 수 있음<br><br>6장 Transport layer<br><br>(1) Transport layer protocols<br>- UDP<br>매우 간단한 protocol, 잃어버려도 크게 문제 X<br>라이브 스포츠 경기 등<br>- TCP<br>매우 정확해야 함, 은행에 많이 사용<br><br>(2) UDP<br>- 전송이 잘되면 좋지만 크게 중요 X<br>- sender와 receiver가 컨텍&nbsp; X<br><br>(3) TCP<br>- Congestion control, End - to - Flow Control, Error Control<br>- 실수 용납 X<br>- Flow-control<br>Sender는 매우 성능이 좋은 컴퓨터<br>-&gt; reciever는 성능이 좋지 X 컴퓨터 경우<br>Sender가 보내는 속도를 조절<br>- Ack를 보냄(with reciever이 받을 수 있는 데이터 양을 보냄)<br>-Stop-and-wait flow control<br>(a) Pipelining해서 보냄<br>- Sliding - window flow<br><br>(4) Error Control<br>- 하나를 보내고 다음에 하나를 받음<br>- Time-out를 설정하여 Ack가 오지 않았다고 판단하여 다시 보냄<br>- Go-Back-N ARQ<br><br>(5) Congestion control<br>- 데이터가 많이 모이면 congestion 발생<br>- 유선 네트워크를 가정하여 만들었음<br>- Error 때문에 발생하는 경우는 없다고 생각<br>- Router가 넘침(심각한 문제) -&gt; congestion으로 해결&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:46:44 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344946432</guid>
      </item>
      <item>
         <title>A2 김민지</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344946898</link>
         <description><![CDATA[<div><strong>질문1. DHCP으로 IP주소 할당 받는 것의 단점은? 동적으로 할당받은 IP 주소는 host가 반납하는가?</strong></div><div><br></div><div><strong>AIoT 5-1강</strong></div><div><br><br></div><div>[check]</div><div>- Network Layer의 역할</div><div>- Forwarding과 Routing의 차이</div><div>- Circuit Switching vs Packet Switching</div><div>- LS VS DV</div><div><br><br></div><div>Network Layer : transport 밑의 Layer로 packet을 sending host에서 receiving host로 전송한다.</div><div><br><br></div><div>Forwarding과 Routing</div><div>- Forwarding : 라우터의 input에서 output으로 패킷을 보내는 것, 즉 전달하는 과정이다.</div><div>- Routing : source에서 destination까지 경로를 정하는 것, 즉 길을 찾는 과정이다.</div><div><br><br></div><div>Forwarding VS Routing</div><div>- forwarding은 hop-by-hop</div><div>- routing은 end-to-end</div><div><br><br></div><div>network는 전송 방식에 따라 Circuit-switched network와 Packet-switched network로 구분할 수 있다.</div><div><br><br></div><div>Circuit-switch : S와 D사이에 경로를 설정하고 그 라인을 오로지 사용하는 것. 채널을 예약하고 쓰므로 오랫동안 사용할 경우 유리하다. 그러나 채널을 낭비한다는 단점이 있다.</div><div>Packet-switch : Message Switching 방식의 하나로, message를 packet으로 나누어 앞에 header를 붙여 나누어 전송한다. 이 경우, circuit-switch 방식에 비해 buffer의 크기를 아낄 수 있어 효율적이다. 나누어진 packet은 final destination에서만 재조립 된다.</div><div><br><br></div><div>Routing 알고리즘에는 2가지가 있다. Link State routing과 Distance vector routing. 그 중에서, 우리가 주목할 알고리즘으로는 Dijkstra’s Algorithm과 Bellman-Ford Algorithm이 있다.</div><div><br><br></div><div>Dijkstra’s algorithm : Link State routing의 일종으로, link cost가 모든 노드에게 알려져 있다. 모든 노드는 같은 정보를 갖는다. 최소 비용의 경로를 찾는다. 알고리즘의 복잡도는 노드의 개수가 n일때, 모든 노드를 확인해야하므로 n(n+1)/2. 즉, O(n^2)가 된다. cost가 같을 경우, Oscillations possible이라는 문제점이 발생할 수 있다.</div><div><br><br></div><div>Bellman-Ford Algorithm : Distance vector routing의 일종으로, 각 노드는 자신의 거리 벡터를 이웃한 노드에게만 보낸다.&nbsp;</div><div><br><br></div><div>&lt;추가로 보충한 공부&gt;</div><div>LS(Link State) VS DV(Distance Vector)</div><div>[message complexity]</div><div>- LS:n개의 노드와 E개의 링크가 있을 때, O(nE)</div><div>- DV:이웃한 노드끼리만 교환</div><div>[speed of convergence]</div><div>-LS:O(n^2) 알고리즘은 O(nE)의 메시지를 요구함, oscillation 문제 발생 가능</div><div>-DV:convergence time varies, count-to-infinity 문제 발생 가능</div><div>[robustness] : 만약 router가 오작동하면?</div><div>-LS:node can advertise incorrect link cost.</div><div>-DV:node can advertise incorrect path cost, error propagate through network.</div><div><br><br></div><div>그밖에 Hierarchical routing도 있다.</div><div><br><br></div><div><strong>AIoT 5-2강</strong></div><div><br><br></div><div>[check]</div><div>- IP 주소란?</div><div>- IP 주소를 어떻게 할당하는가?</div><div>- IP 주소가 부족해진 배경, 그걸 어떻게 해결할까?</div><div><br><br></div><div>IP(Internet Protocol) address : 32bit의 IP주소. 클래스 A~클래스 E까지 구분 가능. 예) host id가 16비트 → 2의 16개 할당 가능</div><div><br><br></div><div>NET ID 14비트, Host ID 16비트인 Class B를 가장 많이 구매함. (class A는 Net ID가 너무 적고, Class C는 Host ID가 너무 적음)</div><div><br><br></div><div>Host ID를 어떻게하면 더 효율적으로 쓸 수 있을까? → Subnet ID로 8/8 나눠서 사용 (subnet part는 high order bits, host part는 low order bits 사용)</div><div><br><br></div><div>Subnet이란?</div><div>- 라우터 거치지 않고 physically reach가능, 라우터를 제거했을 때, network가 고립되면 subnet.</div><div><br><br></div><div>IP 주소 scheme (class-full addresses)</div><div>: IP주소가 많이 필요해짐. 즉, 주소가 모자라짐 → IPv6를 만들어 해결</div><div><br><br></div><div>IPv6 : 기존의 32 비트 주소가 부족해서 생김. 고정된 40byte 헤더를 가짐, fragmentation을 허용하지 않음.</div><div><br><br></div><div>CIDR (Classless Inter-Domain Routing)</div><div>- IP주소의 임의의 길이를 subnet portion으로 가정하는 것.&nbsp;</div><div>- class 체계는 중간이 없고 bit수가 너무 적거나 너무 큼. IP 주소 뒤에 슬래시를 붙여 x bit만큼 host part를 알려준다.</div><div><br><br></div><div>예) 200.23.16.0/23</div><div>11001000 00010111 00010000 00000000 (여기서 오른쪽 9개 비트가 host part)</div><div><br><br></div><div>host는 IP 주소는 어떻게 할당받는가?</div><div>1) fixed IP address : 직접 세팅한다. 매번 직접 세팅해야한다는 단점이 있다.</div><div>2) DHCP : 서버로부터 임시 ip주소를 동적으로 할당받음, plug-and-play가 가능하다는 장점이 있다. 재사용이 가능하다. subnet에 할당된 것보다 많이 쓸 수 있다. subnet이 다 같은 host portion을 쓸 수 있으니까.</div><div><br><br></div><div>NAT(Network Address Translation) : local network는 하나의 IP 주소만 사용한다. 사설 IP주소를 공인 IP주소로 바꾸는 과정이다. NAT을 사용하는 이유는 첫째로, 공인 IP주소를 절약하기 위함이고, 두 번째는 보안을 위해서이다.</div><div><br><br></div><div><br><br></div><div><strong>AIoT 6강</strong></div><div><br><br></div><div>[check]</div><div>- Transport Layer</div><div>- TCP와 UDP의 차이</div><div>- TCP의 3가지 control</div><div>- TCP의 Congestion control</div><div><br><br></div><div>잘 도착했는지의 여부 확인</div><div><br><br></div><div>TCP와 UDP가 있음.</div><div>- UDP : 약간의 오류 허용하는 경우 사용</div><div>- TCP : 중요하고, 오류를 허용하지 않는 경우 사용(Reliable)</div><div><br><br></div><div>UDP(User Datagram Protocol)</div><div>- best effort service</div><div>- handshaking 없음</div><div>- 멀티미디어 스트리밍에서 주로 사용</div><div><br><br></div><div>TCP(Transmission Control Protocol)</div><div>- 혼잡 제어, End-to-end flow 제어, error control</div><div><br><br></div><div>TCP Flow Control</div><div>- sender와 receiver 사이의 속도를 조절하는 것</div><div>- sender의 속도가 더 빨라 receiver가 넘치지 않도록 하는 것</div><div>- Stop-and-wait flow control과 Sliding window flow control 방식이 있음.</div><div>- Stop-and-wait flow control은 매번 기다리기 때문에 비효율적임.</div><div><br><br></div><div>Error Control</div><div>- 주로 Go-back-N 사용.</div><div>- Timeout : 일정 시간 안에 ACK를 받지 못하면 재전송.</div><div>- Go-back-N : 에러가 나면 난 곳으로 돌아가 다시 재전송.</div><div><br><br></div><div>TCP Congestion Control</div><div>- 3 dup ACK : TCP RENO, 선형으로 증가하다가 window size를 절반으로 줄여서 다시 시작.</div><div>- TCP Tahoe는 항상 cwnd를 1로 보낸다.&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:47:03 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344946898</guid>
      </item>
      <item>
         <title>B2 김민정</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344960118</link>
         <description><![CDATA[<div>5강-Network Layer &amp; IP<br><br></div><div>&nbsp;<br><br></div><div>&lt;Network Layer&gt;<br><br></div><div>-패킷들을 sending-&gt;receiving에게로 전달함<br><br></div><div>-network layer의 두가지 중요한 역할:Forwarding&amp;Routing<br><br></div><div>Forwarding:패킷을 라우터 인풋에서 아웃풋으로 전달<br><br></div><div>Routing:패킷의 방향을 결정<br><br></div><div>&lt;Taxonomy of Network&gt;<br><br></div><div>1.&nbsp; &nbsp; &nbsp;Circuit-switched networks<br><br></div><div>2.&nbsp; &nbsp; &nbsp;Packet-switched networks<br><br></div><div>&lt;1.Circuit-switched networks&gt;<br><br></div><div>예전 방식, 전화-&gt;회선예약-&gt;전화끝<br><br></div><div>-단계-1.circuit(회선)만들기2.data transfer(통화)3.회선 끊기<br><br></div><div>-장점:오랜 시간 통화할 때 좋다/단점:circuit을 만들고 끊는 과정이 비효율적이다<br><br></div><div>&lt;2.Packet switching&gt;<br><br></div><div>예약없이 패킷 단위로 data전송,pipelining,하지만 패킷 사이즈가 작다고 좋은건아님-&gt;헤더가 data에 비해 길어지면 오히려 시간 증가<br><br></div><div>&nbsp;<br><br></div><div>&lt;Routing Algorithms&gt;<br><br></div><div>-routing table 만드는 알고리즘<br><br></div><div>-종류 : 1.link state routing 2.distance vector routing<br><br></div><div>&lt;1. Link state routing&gt;<br><br></div><div>-해당 라우터는 자신의 neighbor router들에 대한 정보를 모두에게 보내고 구조가 변할 때마다 정보공유가 이루어진다 따라서 모든 노드들은 전체 네트워크 구조를 알고있음<br><br></div><div>-가장 짧은 경로 계산 알고리즘은 Dijkstra’s Algorithm<br><br></div><div>&nbsp;<br><br></div><div>&lt;2.Distance vector routing&gt;<br><br></div><div>-neighbor끼리만 연결 정보를 알고 있다, 라우팅 테이블을 만들기 위해 Bellman-Ford~알고리즘을 사용한다<br><br></div><div>&nbsp;<br><br></div><div>&lt;Hierarchical routing&gt;<br><br></div><div>-모든 라우터들이 라우터 테이블을 만들 수 없음,그래서 region 별로 묶어서 라우팅 테이블을 짧게만 만든다…<br><br></div><div>&nbsp;<br><br></div><div>[IP]<br><br></div><div>&lt;IP addresses&gt;<br><br></div><div>-아이피 주소는 net ID 와 host ID로 이루어짐<br><br></div><div>-5가지 class<br><br></div><div>Class A : netID-기관 등에서 사가는 id(7)/Host ID(24)<br><br></div><div>Class B:Net ID(24)/Host ID(16)<br><br></div><div>Class C : ID(21)/Host ID(8)<br><br></div><div>Class D<br><br></div><div>Class E<br><br></div><div>&nbsp;<br><br></div><div>&lt;Subnet Addressing&gt;<br><br></div><div>-기관에서 IP사간 후 또 쪼개서 사용하는 것ex)층별<br><br></div><div>&lt;아이피 주소 고갈 문제의 해결방법&gt;<br><br></div><div>1.&nbsp; &nbsp; &nbsp;장기적 해결책-IPv6 이라는 새로운 버전 개발<br><br></div><div>2.&nbsp; &nbsp; &nbsp;CIDR<br><br></div><div>&lt;2.CIDR&gt;<br><br></div><div>-기존 방식의 문제점 : host id 가 너무 크거나 작다<br><br></div><div>-host부분을 추가적으로 나눌 수 있다<br><br></div><div>&lt;3.DHCP&gt;<br><br></div><div>임시 IP 주소를 사용하는 방법<br><br></div><div>&lt;방법4.NAT&gt;<br><br></div><div>:IP주소 하나로 수많은 호스트 연결 가능<br><br></div><div>:공적 IP 주소-Router-사적IP 주소를 가진 호스트들<br><br></div><div>&nbsp;<br><br></div><div>6강 Transport Layer<br><br></div><div>종류:TCP, UDP<br><br></div><div>&nbsp;<br><br></div><div>&lt;UDP&gt;<br><br></div><div>-간단한 프로토콜, 조금 잃어버려도 상관없을 때<br><br></div><div>-기본골격만 있음, 노력은 하지만 잘 안되도 어쩔 수 없다,멀티미디어 스트리밍에 많이 씀<br><br></div><div>&nbsp;<br><br></div><div>&lt;TCP&gt;<br><br></div><div>정확하게 전달해야 할 때, 중요한 전송 시<br><br></div><div>1.&nbsp; &nbsp; &nbsp;congestion control<br><br></div><div>2.&nbsp; &nbsp; &nbsp;end-to-end control<br><br></div><div>3.&nbsp; &nbsp; &nbsp;error control<br><br></div><div>세가지가 있고 다 연관되어 있음<br><br></div><div>&lt;TCP Flow control&gt;<br><br></div><div>Receiver 의 buffer가 넘치며 sender가 보내는 걸 못 받을 수 있다-&gt;sender의 전송 속도를 조절해야함-&gt;ack보낼 때 가능한 저장공간의 memory 정보를 보냄-&gt;sender가 속도조절<br><br></div><div>1.&nbsp; &nbsp; &nbsp;stop-and-wait~<br><br></div><div>2.&nbsp; &nbsp; &nbsp;sliding window flow control<br><br></div><div>&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>&lt;Stop-and-wait flow control&gt;<br><br></div><div>: data하나씩 보내고 ack기다리는 방식-&gt;비효율적임<br><br></div><div>: Pipelining으로 동시에 보내서 효율성을 높인다<br><br></div><div>&nbsp;<br><br></div><div>&lt;Sliding-window flow control&gt;<br><br></div><div>:&nbsp;<br><br></div><div>:<br><br></div><div>&lt;Error control&gt;<br><br></div><div>1.&nbsp; &nbsp; &nbsp;stop and wait ARQ<br><br></div><div>하나씩 보내고 ack기다림 무한히 기다릴 수 없으므로 timer가 있음<br><br></div><div>Data 잃어버렸을 때 : 일정시간 지나면 재전송/Ack잃어버렸을 때 : 데이터 재전송-&gt;이미 받았으므로 삭제-&gt;ack 재전송<br><br></div><div>2.&nbsp; &nbsp; &nbsp;Go back N ARQ<br><br></div><div>-data 패킷이 안왔을 때:3번 잃어버렸으며면&nbsp; 그 다음꺼 다 버리고 3번부터 다시 전송<br><br></div><div>&nbsp;<br><br></div><div>&lt;TCP congestion control&gt;<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:57:09 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344960118</guid>
      </item>
      <item>
         <title>B1 정석원</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344961653</link>
         <description><![CDATA[<div>5장&nbsp;</div><div>&nbsp; &nbsp;</div><div>네트워크 계층</div><div><br></div><div>- 데이터 전송 결로 결정, IP주소로 상대방 호스트 구분, 패킷 : 전송 데이터의 명칭</div><div>&nbsp; &nbsp;</div><div>회선교환&nbsp;</div><div>&nbsp; &nbsp;</div><div>- 1,2 세대, 고정대역의 전송률을 지원하는 연결설정, 연결지향형, 연결이 유지되는 동안&nbsp;</div><div>다른 연결사용 X</div><div>구조 단순, 라우팅 등 작업이 쉬움</div><div>&nbsp; &nbsp;</div><div>패킷 교환</div><div>&nbsp; &nbsp;</div><div>- 3세대 이상, 패킷 단위로 나누어 전송, 가변전송률지원, 연결/비연결 지항형 지원, 구조 복잡</div><div>- 패킷이 개별 라우팅 과정을 거쳐 목적지에 도착</div><div>- 장점 : 전송효율이 좋다, 이론상 호스트 무한수용 대신에 혼잡도가 증가해 전송지연을 고려해야 한다.</div><div>- 단점 : 전송지연</div><div>&nbsp; &nbsp;</div><div>메시지 교환</div><div>&nbsp; &nbsp;</div><div>- 전체 데이터를 하나의 단위로 교환</div><div>- 단점 : 메시지 크기가 증가하면 시간 비용 증가, 버퍼사이즈 증가</div><div>&nbsp; &nbsp;</div><div>라우팅 테이블 : 네트워크 구성 형태에 관한 정보 관리</div><div>&nbsp; &nbsp;</div><div>Dijkatra’s 알고리즘 : source가 최적의 라우팅 경로를 찾는 과정</div><div>&nbsp; &nbsp;</div><div>6장&nbsp;</div><div>&nbsp; &nbsp;</div><div>IPv4 : 5개의 클래스로 구분, 이진표가법과, 십진 표기법에서 클래스 찾기</div><div>&nbsp; &nbsp;</div><div>subnet mask : 몇 비트로 쪼개었는지&nbsp;</div><div>&nbsp; &nbsp;</div><div>IPv6 : IPaddress 사용 증가로 만들어짐</div><div>CIRD : host part를 알려줌</div><div>&nbsp; &nbsp;</div><div>ICMP : 오류에 관한 처리지원&nbsp;</div><div>IGMP : 특정 그룹에 속한 모든 호스트들에게 메시지 전송</div><div>ARP : IP주소와 MAC주소 사이에 변환 기능 수행&nbsp;</div><div>&nbsp;<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 11:58:28 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344961653</guid>
      </item>
      <item>
         <title>b3 성민우</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344964967</link>
         <description><![CDATA[<div>Chp.5-1 -----</div><div># Network Layer Services</div><div>packet 에 ip 주소를 써서 보낸다. 그럼 라우터를 거쳐서 기지국에 가게 되고 다시 라우터를 거쳐서 해당 ip 주소로 데이터가 보내진다.</div><div><br><br></div><div>- Network Layer</div><div>&nbsp;forwarding &gt;&gt; 라우터에서 입력받은 패킷을 보내야 할 라우터 방향으로 패킷을 출력시키는 것</div><div>Routing &gt;&gt; 주소를 보고 어느 곳으로 데이터를 보내야하는지 판단하는 행위</div><div><br><br></div><div>데이터 &gt;&gt; 라우터 &gt;&gt; 포워딩 &gt;&gt; 라우팅</div><div><br><br></div><div><br><br></div><div>- Taxonomy of Networks ( Network core)</div><div>Cummunication networks&nbsp;</div><div>Circuit- switched networks &gt;&gt; 전화망 1,2, 세대</div><div>먼저 회선을 예약을 하고 끝나면 취소하는 방식</div><div>장점 : 리얼타임으로 오랜 시간으로 데이터 전송이 좋다 딜레이도 적다</div><div>단점 : 채널의 낭비가 있다.&nbsp;</div><div><br><br></div><div>Message Switching&nbsp;</div><div>바로 메시지를 보내는 방식</div><div><br><br></div><div>Packet-switched networks &gt;&gt; 컴퓨터 통신망 3세대</div><div>패킷을 보낼때 예약없이 패킷단위로 쪼개서 보내는 방식&nbsp;</div><div>&gt;&gt; 딜레이 발생시 딜레이가 발생한 라우터가 아닌 따로 방향을 모색하여 보낸다.</div><div>&gt;&gt; 쪼개진 패킷이 도착하는 시간은 순서에 맞지 않을 수 있다</div><div>&gt;&gt; 순서를 재정비하기때문에 (상관x)</div><div><br><br></div><div>메시지가 길어지면 라우터의 버퍼가 커져야 한다&nbsp;</div><div>&gt;&gt; 때문에 패킷을 쪼개서 보낸다. ( 파이프라이)</div><div>&gt;&gt; 시간이 절약된다.</div><div><br><br></div><div>쪼개는 방법 &gt;&gt; 잘게 짜른다고 좋은 것은 아니다.&nbsp;</div><div>CF : Effect of packet size on tracsmission time</div><div>보내야 하는 데이터에 비해 헤더가 많아지면서 문제 발생</div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div>- Routing Algorithms</div><div>라우팅 테이블을 만드는 알고리즘</div><div>라우터가 각자 스스로 계산한다. (Destination Routing)</div><div>거리와 비용의 관계</div><div><br><br></div><div>종류</div><div>1.Link State routingChp.5-1 -----</div><div>1-1. 라우터는 이웃한 노드와 비용을 알고 있으니 라우터끼리 이 정보를 교환한다.</div><div>1-2. 모든 노드가 연결 관계(Topology)를 알게 된다.</div><div>1-3. Dijkstra’s Algorithm &gt;&gt; 각 경로의 비용을 계산하여 비용이 더 낮은 방향으로 간다.</div><div><br><br></div><div>2.Distance vector routing</div><div>2-1. 이웃 라우터끼리 정보를 주고 받는데 각자가 가지고 있는 라우팅 테이블을 두고 계산을 한다.</div><div>2-2. Bellman-Ford Algorithm</div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div>Chp.5-2 -----</div><div># ip address (net ID + host ID)</div><div>클래스 A,B,C,D,E 가 존재</div><div>최상위 비트는 0으로 시작</div><div>클래스 B 를 가장 많이 사용</div><div><br><br></div><div>- Subnet Addressing</div><div>ip 를 효율적으로 분배하기 위해 고안됨</div><div>Host ID = subnet ID + host ID&nbsp;</div><div><br><br></div><div>- Subnet mask&nbsp;</div><div>로컬 네트워크 내부에서 접속한 호스트의 ip 대역을 외부 네트워크와 명학하게 구분할 수 있는 수단</div><div><br><br></div><div>- NAT</div><div>외부 ip 를 내부 ip로 바꾸므로써 ip 고갈 문제를 해결하는 방법</div><div><br><br></div><div><br><br></div><div><br><br></div><div>Chp.6 -----</div><div>Transport Layer</div><div># Transport Layer&nbsp;</div><div>UDP (User Datagram Prptocol)</div><div>일방적인 통신 (신뢰성이 떨어진다)&nbsp;</div><div>ex) 인터넷 방송 , 채팅</div><div><br><br></div><div>TCP (Transmission Control Protocol)</div><div>신뢰할 수 있는 통신&nbsp;</div><div>ex) 은행간 송금</div><div><br><br></div><div>Flow control &gt;&gt; 오버 플로우 를 방지하는 방법</div><div>Stop-and-wait flow control &gt;&gt; 하나씩 보내는 방법&nbsp;</div><div>Sliding window flow control &gt;&gt; 여러개를 보내는 방법&nbsp;</div><div><br><br></div><div><br><br></div><div>- Error Control</div><div>1.Stop-and-wait ARQ</div><div>1-1.Error-free operation</div><div>하나를 주고 ack 를 받는 방식</div><div><br><br></div><div>1-2.Lost data packet</div><div>하나를 주고 ack 를 받고 두번째거를 보냈는데 ack 가 오지 않았다</div><div>이 경우 time out 을 주어 무한 대기를 해결한다.</div><div><br><br></div><div>1-3.Lost ACK timeout</div><div>ack 패킷이 사라진 경우 재전송을 요청</div><div><br><br></div><div><br><br></div><div>2.Go-Back-N ARQ</div><div>ex)</div><div>2-1.Error-free- operation</div><div>2-2.Corrupted data packet</div><div>에러 발생 1개가 빠짐 &gt;&gt;해당 ack를 버리고 타임아웃이 걸리면 다시 보낸다</div><div>2-3.Corrupted ACKs</div><div>ack 가 오지 않은 경우 time out 값에 따라서 다시 보내거나 아예 보내지 않는다.</div><div><br><br><br></div><div># TCP Congestion Control</div><div>패킷이 과도하게 한 곳에 모이는 상태</div><div>유선 네트워크이기 때문에 애러때문에 발생하는 경우는 없다</div><div>중간에 라우터에 패킷이 넘칠때 발생</div><div>이를 해결하기 위해서 time out 을 건다</div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:01:16 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344964967</guid>
      </item>
      <item>
         <title>B3 유해정</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344968087</link>
         <description><![CDATA[<div><br>Chap 5 Network layer &amp; IP</div><div><br></div><div>Network layer : sender가 보낸 데이터를 receiver측에 안전하게 전달하는 역할-&gt; ip가 주로 하는 역할이기도 함</div><div>- 데이터를 보낼 때마다 헤더에 주소를 써서 보냄</div><div>- 공통의 주소체계를 만들어 놓은 IP address로 받는 호스트, 보내는 호스트 주소를 써서 보냄&nbsp;</div><div>- 주소를 써서 보내면 라우터가 address를 보고 안전하게 목적지로 경로설정</div><div><br><br></div><div>network layer function&nbsp;</div><div>데이터를 받아서 forwarding - 라우터가 입력층에서 받아서 출력층으로 보내는 역할을 함, 어디로 보낼지 결정(주소를 보고)</div><div>routing - 주소를 보고 어느 곳으로 보내야 할지 결정하는 행위</div><div><br><br></div><div>network 방식은 크게 두 분류로 나뉨</div><div>1) Circuit-switched networks</div><div>2) Packet-switched networks</div><div>두 개는 무척 다름</div><div>1세대는 Circuit-switched, 3G부터는 Packet-switched networks 방식으로 바뀜</div><div><br><br></div><div>Circuit-switching (옛날 전화 방식)</div><div>- Circuit이라고 불리는 회선을 예약, 써킷을 여는 행위</div><div>- 써킷을 만듦 – 통화 - 써킷을 끊음 (써킷을 만들고 끊는 행위는 시간이 짧지만 overhead 될 수 있음, data가 길 때는 이 정도는 overhead가 아님 )</div><div>- 장점 : 한 번 써킷이 예약이 되면 real-time으로 오랜시간을 통화할 때 좋음</div><div>- 단점 : 채널의 낭비가 존재</div><div><br><br></div><div>Message switching</div><div>- 써킷을 예약하거나 끊는 것 없이 바로 메시지를 보내는 형태 → 더 좋을 수 있음</div><div>- 메시지가 크면 오래걸림, 큰 버퍼가 필요</div><div>&nbsp;→ 중간중간 잘라서 패킷으로 나누어 전송; packet switching - 라우터는 다른 경로도 추천해 줄 수 있어 메시지가 도착하는 순서가 달라질 수 있음, 그러나 순서를 알고 있어서 문제가 안됨</div><div>&nbsp;→ 파이프라인으로 시간 단축 효과</div><div>* 패킷을 작게 자르면 좋을까?</div><div>&nbsp;→ 쪼갤 때 시간이 줄어들 수 있음(파이프라이닝을 통해 효과), 너무 작게 자르면 데이터의 양에 비해 헤더가 커 시간이 더 길어짐</div><div>&nbsp;→ 라우팅 테이블은 어떻게 만들어졌을까? 라우터가 라우팅테이블을 잘 만들어 놓으면 헤더에 들어가있는 수를 보고 수신지까지 잘 전달</div><div><br><br></div><div>Routing Algorithms</div><div>- central node가 만들어서 다 전해주는게 아니라 각 라우터들이 스스로 계산</div><div>- cost가 가장 적은 경로 찾기&nbsp;</div><div>1. Link State routing – Dijkstra’s algorithm(Shortest past)</div><div>&nbsp;→ 선택되고 나면 라우팅 테이블을 만듦, N1이 브로드캐스팅 (이웃한 노드와 cost노드를 전체에게 알려줌)</div><div>2. Distance vector routing – Bellman-Ford algorithm</div><div>- 자기 이웃하고만 데이터를 주고 받음</div><div>- 나머지 모든 노드로 가는 라우팅테이블을 만들겠다 하면 이웃한 노드에게서 라우팅테이블을 받음, 즉 이웃한 노드의 라우팅테이블을 이용해 최적 경로를 만듦</div><div><br><br></div><div>Hierarchical</div><div>많은 라우터들을 똑같이 하기에는 힘듦 → 시스템에서 대표라우터를 선정하고 대표라우터끼리 라우팅테이블을 만들고 내부에서는 내부의 라우팅테이블을 만들자</div><div><br><br></div><div>IP (Internet Protocol)</div><div>: 라우팅 알고리즘을 실제로 구현하는 프로토콜</div><div><br><br></div><div>IP address</div><div>- 현재 버전 4를 사용, IP address를 가지고 어떤 단말인지 알 수 있음</div><div>- 호스트 부분과 네트워크 부분으로 나뉘어져 있음</div><div>- 다섯가지 클래스</div><div>  1) class A</div><div>    &gt; 0.0.0.0 - 127.255.255.255</div><div>    &gt; 7비트는 net ID, 24비트는 host ID로 사용2^24만큼 할당 가능</div><div>  2) class B</div><div>    &gt; 10으로 시작 net ID 14비트, host ID 16비트</div><div>    &gt; 사람들이 가장많이 구매하여 사용</div><div>  3) class C</div><div>    &gt; 110으로 시작 net ID 21비트, host ID 8비트</div><div>  4) class D</div><div>  5) class E</div><div><br><br></div><div>host ID를 어떻게 효율적으로 쓸지 고민 → Subnet 개념; 쪼개서 씀</div><div>한 조직에서 몇 비트로 쪼갰는지 알 수 있는 방법 - Subnet mask&nbsp;</div><div><br><br></div><div>너무 많은 호스트, IP address 필요 → 주소 고갈 문제 해결 방법 고민</div><div>IETF 솔루션;&nbsp;</div><div>1) longterm solution – IPv6</div><div>2) short term solution – CIDR</div><div> : (중간선택지가 없는) 기존의 클래스별로 만드는 방식이 아니라 ‘ / ’를 붙여서 network를 알려주어 IP address를 할당하는 방식&nbsp;</div><div>network ID 부분이 가변적으로 변하게 되면 다양한 길이를 다이내믹하게 만들 수 있음&nbsp;</div><div><br><br></div><div>IP address도 어떻게 할당하느냐</div><div>- Manual configuration</div><div>- DHCP : 정규 IP address가 아니라 임시 IP address를 할당받아서 반납하는 방식</div><div><br><br></div><div>DHCP방식으로 가장 많이 쓰는 방식 – NAT</div><div>- IP address 하나를 가지고 엄청나게 많은 호스트를 연결할 수 있는 방식</div><div>- 내부 기관에서 라우터가 사설 IP라고 하여 내 마음대로 IP를 할당하여 쓰는 방식</div><div>- NAT translation table에서 마킹 → sender를 공적인 IP로 바꿈</div><div>- 데이터 도착시에는 그 주소로 보낸 호스트를 찾아서 주소를 변경하여 수신</div><div><br><br></div><div>IP는 다양한 프로토콜로 만들어짐</div><div>network layer 중&nbsp;</div><div>1) ICMP : control message - 망을 관리하는 용도로 쓰임, 제어용일 뿐 전송에 쓰이지는 않음</div><div>2) IGMP : group message - 멀티캐스트하기 위한 프로토콜</div><div><br><br></div><div>IP packet의 format&nbsp;</div><div>- 20바이트의 헤더</div><div>- 뒤에 데이터가 실림</div><div>- TTL(time to live) : 라우터를 거칠때마다 하나씩 줄어드는, 몇 번의 홉을 거쳐서 목적지까지 갔는지</div><div><br><br></div><div>Chap 6 Transport layer</div><div><br><br></div><div>Transport layer protocols</div><div>- TCP, UDP 두개의 프로토콜</div><div><br><br></div><div>User Datagram Protocol (UDP)</div><div>- 데이터가 좀 없어져도 문제가 안되는 경우에 쓰는 프로토콜</div><div>- 바로 보내는 프로토콜</div><div>ex. 스포츠중계방송 : 오다가 목소리가 안들리거나 끊겨도 상관없음</div><div>→ format이 간단, 헤더사이즈가 8byte</div><div><br><br></div><div>Transmission Control Protocol (TCP)</div><div>- 속도보다는 아주 중요한 데이터를 전송해야 할 경우에 쓰는 프로토콜, 아주 깐깐</div><div>- Reliablity 제공</div><div>- 없어진 패킷 재전송</div><div>ex. 은행 송금</div><div>- error control 세가지</div><div>  1) Congestion control</div><div>   : sender가 데이터를 보냈는데 마치 traffic congestion처럼 밀려서 제때 전송이 안됐을 때 어떻게 할 것인지에 대해</div><div>  2) End-to-end Flow Control</div><div>   : 보내는 속도와 받는 속도의 조절을 위해 사용</div><div>  3) Error Control</div><div>   : 패킷이 중간에 노이즈가 꼈을 때 문제를 다룸</div><div><br><br></div><div>TCP Flow Control</div><div>- sender가 슈퍼컴퓨터, receiver는 성능이 좋지 않은 컴퓨터일 때 receiver가 처리할 능력이 안되면 버퍼가 금방 넘치게 됨 → sendor가 보내는 속도를 조절 → ack를 통해 속도 파악</div><div>- Flow Control의 overflow 방지 기법 2가지</div><div>  1) Srop-and-wait flow control : 하나 보낸 다음에 ack를 기다림 → 오래 기다려서 효율이 적음</div><div>  2) Sliding window flow control</div><div>&nbsp;   → Pipelining으로 해결 : 세 개를 보내고 ack가 오면 456번째 보냄 → 효율 세 배 증가&nbsp;</div><div>&nbsp;   → window size가 오른쪽으로 움직인다 하여 sliding window</div><div>   - 윈도우 사이즈와 ack 보낼 때마다 보낸 윈도우 사이즈 중 더 작은 값으로 윈도우 사이즈를 정해서 보냄</div><div><br><br></div><div>Error Control</div><div>1) Stop-and-Wait ARQ</div><div>  - sender는 일정시간 동안 ack를 기다림 – 일정 Timeout이 되면 retransmission</div><div>  - timeout은 ack가 올 때까지 충분히 커야한다.</div><div>  - Ack packet이 사라진 경우도 timeout이 지나면 retransmission</div><div>2) Go-Back-end</div><div>  - sliding window를 썼을 때 방식</div><div>  - 중간에 packet 하나가 안오면 뒤에 다 안받음 → 일정 timeout후에 다시 못받은 패킷부터 전송 → ack가 사라져도 다음 ack를 받았으면 그 전 패킷을 다 잘 받았음을 알 수 있음(문제가 없구나)</div><div><br><br></div><div>TCP Congestion Control</div><div>- traffic이 몰려서 라우터가 넘치면 packet을 잃어버림</div><div>- slow start : 현재값의 반을 threshhold값으로 두고 2의 배수로 증가하다가 threshhold에 도달하면 선형적으로 증가 → error가 나면 다시 1로 가서 다시 증가</div><div>- fast retransmit : timeout 되기 전에 3dupack(못받은 패킷에 대한 ack를 계속 보냄 )이 나오면 1로 떨어지는 것이 아니라 현재값의 절반으로 줄어서 다시 선형적으로 증가</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:03:49 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344968087</guid>
      </item>
      <item>
         <title>C1 황병진</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344972191</link>
         <description><![CDATA[<div>&lt;5장 Network Layer &amp; IP&gt;</div><div>Network이라는 sender가 reciver에게 안전하게 전달.</div><div>&nbsp; &nbsp;</div><div>Network Layer가 하는 function : 데이터를 받아서 forwarding(입력)측에서 받아서 Routing(출력)측으로 보냄</div><div>- 보내는 방향을 결정하게 된다.</div><div>Routing : 주소를 받아서 어디로보낼지 판단하는 행위</div><div>유선 네트워크망&nbsp;</div><div>- Circuit(회선) switched networks (1,2세대)&nbsp;</div><div>- Packet-swiched networks (3세대부터~)</div><div>&nbsp; &nbsp;</div><div>Circuit(회선) switched networks 장점</div><div>- 오랜시간을 통화할 때 아주 좋다(delay도 없고)</div><div>- 채널의 낭비가 존재한다.</div><div>&nbsp; &nbsp;</div><div>Packet-swiching networks : 하나의 데이터가 여러개의 Packet로 쪼개서 보냄</div><div>- 순서가 바뀌어서 받더라도 받았을 때 알아서 순서를 재정비함.</div><div>- 파이프라이닝 : Packet 1을 보내고 2를 보낸 사이에 다음 routing에서 packet1을 보냄</div><div>* 파이프라이닝을 통해서 빠른 전송 가능</div><div>* 너무 많이 파이프라이닝해도 오버핸드 할 수 있다</div><div>&nbsp; &nbsp;</div><div>Routing algorithm</div><div>- 라우팅 테이블을 잘만들어놓으면 헤더를 보고 수신지까지 잘 전달 가능</div><div>- 라우팅 테이블을 어떻게 만들건지 만드는 알고리즘</div><div>- router &gt; router 이동간 cost 발생 &gt;&gt; 최소 cost로 가는 알고리즘 (2가지)</div><div>&nbsp; &nbsp;</div><div>(1) Link State routing algorithm : 각각의 노드가 전체 노드경로를 알고 있다. **</div><div>(2) Distance vector routing algorithm **</div><div>&nbsp; &nbsp;</div><div>IP(Internet Protocol)</div><div>- 5가지 클래스로 구분된다(class A ~ E)</div><div>- 0 / Net ID / Host ID [class A = 0 / 7 / 24] .... (class C = 110 / 21 / 8]</div><div>- 한 조직기관에서 몇 비트로 쪼갰는지 알 수 있기 위해 subnet mask를 쓴다.</div><div>- 포항공대(Class B) : 141.223.108.201 / 서브넷 마스크 = 255.255.255.0</div><div>&nbsp; &nbsp;</div><div>IP adress 사용자가 많아지며 수가 부족해짐.</div><div>- IPv6 : 새로운 버전을 만들자. (장비를 교체해야 하기 때문에 힘듬)</div><div>- CIDR : 주소 마지막 /뒤에 호스트파트(5bit)를 추가</div><div>- DHCP : 임시 IP address를 받아서 쓰고 반납하는 방식</div><div>&nbsp; &nbsp;</div><div>NAT (Network Address Translation, IP 문제 해법 중 하나)</div><div>- 공적 인증 IP + 내맘대로 설정한 사적 IP</div><div>- 사적 IP에서 보낸 정보를 라우터를 거쳐 공적 인증 IP로 발신자를 변경</div><div>&nbsp; &nbsp;</div><div>&lt;6장 Transport layer&gt;</div><div>- UDP / TCP&nbsp;</div><div>* UDP : 간단한 프로토콜, 잃어버리거나 전송이 안되도 상관없음</div><div>* TCP : 속도보단 정확한 전송을 요구할 때&nbsp;</div><div>&nbsp; &nbsp;</div><div>TCP</div><div>- sender와 reciver사이에 보내는 속도 조절</div><div>* stop and wait : 하나 보내고 잘보냈다는 ACK받고...반복</div><div>&gt; pipelining 기술을 통해 여러개를 보내고 올때마다 하나씩 더보내는 방식</div><div>&nbsp; &nbsp;</div><div>Error Control</div><div>- ACK 받지 못하면 데이터 다시 보냄</div><div>&nbsp; &nbsp;</div><div>TCP Congestion Control</div><div>- 중간에 라우터에 버퍼가 넘친다고 가정 &gt; 개수를 줄이는 방법을 채택</div><div>* 1. time out : sshtresh 값 전까지 2^n만큼 증가 &gt; 점차 2씩 증가, 과부하 오면 다시 처음부터 시작.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:06:42 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344972191</guid>
      </item>
      <item>
         <title>A1 서연주</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344978169</link>
         <description><![CDATA[<div>[AIoT 5장]<br><br><strong>[Network layer services]<br></strong>packets 어디 주소로 보낼 지 concern<br>라우터가 데이터 받아서 수신자 주소 보고 어디로 보낼지 forwarding할 때 routing함<br><br><strong>[Taxonomy of Networks]<br></strong>&nbsp;1) circuit-switched Network(번호부르면 예약-&gt;완성 되면 통화transfer-&gt;끝나면 끝났다termination고 신호)//딜레이 없는게 장점이나 채널 낭비가 존재 <br>2)packet-swithed networks(3세대부터~)// 중간중간 잘라서 packet으로 만들어 보냄 일단 보냄. 쪼개져서 보내기 때문에 경로에서 밀리게 되면 라우터가 다른길로 알려줌. 도착하면 재정비하기 때문에 순서는 상관없음 packet으로 자르는건 버퍼의 사이즈 limitation때문에 돌림노래처럼 보내는거 하지만 잘게 자른다고 다 좋은건 아니다(해더가 많아지기 때문 해더는 패킷 자를때마다 생기는거)<br><br><strong><em><mark>[Routhing Algorithm]//되게 중요</mark></em></strong><br>- 라우터들이 스스로 계산함(distribute routing)<br>- 각 라우터는 본인의 인접한 node까지의 cost만 알고 있음<br>- 이 때 최적의 경로를 찾는 알고리즘<br><br><strong><mark>(1) Link State Routing Algorithm//중요,,,,</mark></strong><br>- Dijkstra Algorithm 기반 // 가장 짧은경로부터 탐색&nbsp; + 다른 경로와 비교 <br>- 이웃한 노드 말고도 다른 곳에도 데이터 주는 상황<br><strong><mark>(2) Distance Routing Algorithm//</mark></strong> 아주 중요 bellman- ford 알고리즘 사용 <br>- 이웃하고만 주고 받는 상황<br>- 테이블 있으면 + 이웃까지 가는거리로 총합 계산해서 숫자 작은 path 선택<br><br><strong>[Hierarchical routing]</strong>//현실적으로 위 방법 안 쓰고 대표 라우터들을 선정해서 그들끼리 라우팅 테이블 기반하에 주고받고 <br>내부에서 작은 라우터들은 그들끼리 라우팅 테이블 있어서 주고받음<br><br>[5-2장]<br><br>IP adress (class A~E, usually A~C(각 호스트 아이디 길이= 24,16,8bit))<br>Class B //가장 많이 쓰임(적당한 net ID(14bit), host ID(16bit))<br>16bit/8bit/8bit<br>netID/subnetID/hostID , 이 때 subnet ID는 건물주소(관리 용이하게 하기를 위함)<br><br><br>각 인터페이스는&nbsp; 32bit 할당받음<br>Subnet Addressing<br><br><strong>CIDR</strong> // Classless Inter Domain Routing <br>ex)200.23.16.0/27 &lt;- slash를 사용해서 그 뒤를 host ID로 사용 <br><br>어떻게 IP를 할당하는가? 2가지 방식 <br>- manual // 데스크탑처럼 아예 계속 가지고 있는 거 <br>- DHCP//Dynamic Host Configuration Protocol. 스마트폰에 IP할당 받듯 일시적으로 받는거&nbsp; <br><br>NAT(Network Adress Translation) <br>- DHCP 방식<br>- WAN side address(공적으로 할당받은 아이피) + LAN side address 사적으로 할당되는 아이피 local IP <br>- sender 주소를 바꿈 , reciever(destination)은 그대로 <br><br><strong><mark>IP// Internet Protocol<br></mark></strong><br>Application layer - User process 관련 <br>Transport Layer - TCP, UDP<br>Network Layer - ICMP, IP, IGMP // 여기&nbsp; IP가 있음 <br>Data Link Layer - ARP , RARP// 하드웨어 인터페이스 관련 <br><br><br><br>IP header format <br>헤더는 20bit , 그 뒤에 몇천 bit실림 <br><br><br>[AIoT 6장]<br><br>Transport Layer // 샌더와 리시버 사이에 Data 전송이 이루어지고 패킷을 보내 destination에 도착 <br>- 이 때, 잘 도착했는 지 여부에 관한 일을 함 <br>- 종류는 TCP, UDP가 있다<br>- UDP)간단, 털털 -&gt; 없어져도 괜찮<br>- <strong>TCP)</strong><strong><mark>아주</mark></strong><strong> 정확해야 됨.</strong>. 실수 용납ㄴㄴ,까다로움 ex)은행<br><br>UDP<br>- no frills . . . , bare bone. . . <br>- best effort //노력은 하지만 안 되면 워쩔 수 없다<br>- connectionless <br>- packet 유실돼도 됨<br>- 주로 멀티미디어에 사용 (영상같은)<br><br><strong><mark>TCP // 중요 . . 세 컨트롤 기억할 것 <br>종류: <br>1)congestion control<br>2)End to end Flow Control<br>3)Error Control</mark></strong><br><br><br><strong><em><br></em></strong><strong><em><mark>[congestion control] // 되게 중요 - <br>- Retransmission timeout(RTO) caused by a lost packet <br>- 3 duplicate ACKs </mark></em></strong><br><br>packet lose 원인<br>:1) unrealiable transmission media <br>&nbsp;2) <strong>congested router</strong> //usually -&gt; 에러 원인은 '트래픽이 너무 많은 경우 라우터에 버퍼가 넘치는 경우'로 가정 , 이 문제를 푸는 방식을 congestion control이라고 한다<br><br><strong><mark>congestion control</mark></strong><br>처음에 윈도우 사이즈=1로 시작<br>ack이 잘오면 윈도우 사이즈 =2<br>잘오면 window size= 2^2<br>...<br>이렇게 n승으로(지수적으로) <br>till 미리 설정한 threshold값까지 증가 <br>이후부턴 linear하게 증가함<br>timeout에 의해 패킷이 오지 않은 걸 알게되면 현재값의 1/2을 threshold값으로 재 설정하고 다시 window size=1로<br>다시 threshold값 만나면 이후 linear하게 증가함 <br>//slow start라고한다<br><br>이와 달리 fast start도 있는데,<br><br>timeout되기 전에 다른게 오게 되면, <br>ACK를 sender가 계속 3번 보내게됨 (이걸 dupack이라고 함)-&gt; congestion이 심각한게 아님을 의미하는걸 알게돼서<br>-&gt; window size를 반으로 줄임 (slow와 달리 1까지 안 떨어뜨린다)<br><br><br><strong><mark>[End-to-end Flow Control]</mark></strong><mark><br></mark>ㅇ sender , reciever사이에 보내고 받는 속도 조절 <br>ㅇ 센더는 슈퍼컴퓨터, 리시버는 성능이 좋지 않아 데이터 전송 속도라고 가정))<br>이 때, 센더가 보내는 속도를 조절해야되는데 이걸 flow control이라고 한다 <br>ㅇ 잘 받으면 ack를 보냄 <br>ㅇ 리시버가 메모리 스페이스 관련 정보를 포함시켜 보내면, 센더가 보내는 속도 조절하는 방식 <br>- 하나씩 보내는 거랑 ) stop &amp; wait(till ACK)방식 - 비효율적<br>- 여러개 보내는 방식이 있음&nbsp; &nbsp; - pipelining, sliding window 방식 <br>&nbsp; 패킷 받는대로 윈도우 사이즈가 오른쪽으로 움직이며 다운사이즈 함 <br>- 윈도우 사이즈를 최소값으로 정해서 보낸다<br><br><br><strong><mark>[Error Control]</mark></strong><br>ㅇ 노이즈 등 문제를 다룬다<br>- ARQ(Automatic Repeat reQuest) <br>- 하나 보내고 ACK받고 하나 보냄 // 에러가 없을 때 <br>- 패킷 보냈는데 리시버가 받지 못하면 -&gt; ACK를 영원히 기다림//에러시 -&gt;이 때 타이머를 보내서 끝날때 까지 안오면 기다리는거 포기<br>- ack packet사라진 경우 //에러<br> -&gt; 받은걸 버리고 retransmission <br><br><strong><mark>Go Back &amp; ARQ</mark></strong> //window slide 방식<br><br>- 패킷(예를들면 3번에)에 에러가 생기면 -&gt; 리시버가 ACK4를 안하고 타임 아웃까지 기다린 뒤 다시 3부터 다시 보냄&nbsp;<br>- ACK가 사라지는 경우 -&gt; 타임아웃값에 따라 다시 전송 리시버가 중복돼서 받으면 그냥 버리면 된다</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:10:48 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344978169</guid>
      </item>
      <item>
         <title>B3 반정현</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344980811</link>
         <description><![CDATA[<div>1. 배운점</div><div>&lt;Network Layer&gt;</div><div>- 역할 : sender가 보낸 데이터를 receiver 측에 안전하게 전달(Forwarding과 Routing)</div><div>- packet의 헤더에 IP 주소(보내는 호스트, 받는 호스트) 정보 포함 → 라우터가 읽고 전달</div><div>- Forwarding : 입력 측에서 받아서 출력 측으로 전달(어디로? : Routing)</div><div>- Routing : 데이터를 어디로 보낼지 결정</div><div><br><br></div><div>&lt;네트워크 분류&gt;</div><div>- Circuit-switched networks : (1, 2세대) 통신하고자 하는 전화선을 미리 예약 → 예약이 완성되면 전화 시작 → 통신이 완료되면 예약된 회선을 취소(termination)</div><div>- Circuit-switched networks의 장점 : 장기간 통신에 용이</div><div>- Circuit-switched networks의 단점 : 채널 낭비</div><div><br><br></div><div>- Message Switching : 회선 예약 없이 메시지 전송(queueing delay가 심함, 버퍼의 크기가 거대함)</div><div>- Packet Switching : 메시지를 packet으로 나누어 전송 (Pipelining)</div><div>- Packet Switching에서는 정해진 경로가 밀리면 라우터에서 다른 경로를 추천하여 전송 → 이러한 이유로 순서가 뒤바뀐 상태로 전달되더라도 receiver 측에서 순서 재배열. 단, 데이터의 크기와 헤더 사이즈가 동일할 정도로 message를 세분화할 경우 오버헤드 발생</div><div><br><br></div><div>&lt;Routing Algorithms&gt;</div><div>- 각 노드는 이웃 노드까지 걸리는 cost만 알고 있음</div><div>- 각 노드들은 라우팅 테이블을 스스로 만들며 라우팅 테이블을 잘 만들어야 함</div><div>- 두가지 라우팅 알고리즘 (Link State routing, Distance vector routing)</div><div><br><br></div><div>&lt;Link State routing algorithm-Dijkstra’s Algorithm&gt;</div><div>- 각 노드들이 가지고 있는 이웃한 노드 종류와 이웃 노드까지 걸리는 cost 정보를 공유</div><div>- 결과적으로 모든 노드들이 똑같은 topology 그림을 만들 수 있음</div><div>- 이 topology 그림으로 shortest path routing 알고리즘을 돌림</div><div>ex) 시작 노드(A)에서 다른 모든 노드(B,C,D,E,F)들까지 걸리는 cost를 조사 (경유X)</div><div>→ 그 중 가장 적은 cost의 노드를 집합 S에 추가(S = {A,D})</div><div>→ 직전에 가장 적은 cost를 가졌던 경로 (A-D)를 거쳐 B,C,E,F까지 걸리는 cost와 기존의 A에서 직접 걸렸던 cost를 조사하여 작은 cost 값을 경로에서의 직전 노드와 함께 기입</div><div>→ 현재 테이블에 있는 값 중 가장 적은 cost의 노드를 집합 S에 추가(S={A,D,E}) (가장 적은 cost를 가진 노드가 2개 이상일 경우 하나만 선택)</div><div>→ 직전에 가장 적은 cost를 가졌던 경로 (A-D-E)를 거쳐 B,C,F까지 걸리는 cost와 기존 cost를 조사하여 작은 cost 값을 경로에서의 직전 노드와 함께 기입</div><div>현재 테이블에 있는 값 중 가장 적은 cost의 노드를 집합 S에 추가(S={A,D,E,B})</div><div>→ 직전에 가장 적은 cost를 가졌던 경로 (A-B)를 거쳐 C,F까지 걸리는 cost와 기존 cost를 조사하여 작은 cost 값을 경로에서의 직전 노드와 함께 기입</div><div>&nbsp;→ 모든 노드가 S에 추가될 때까지 반복</div><div>→ 라우팅 테이블(Destination, Next node, Cost)</div><div><br><br></div><div>&lt;Distance vector routing-Bellman-Ford Algorithm&gt;</div><div>- 이웃 노드에게만 정보를 공유함( 각 노드들은 이웃 노드들 종류와 임시 shortest path 정보(임시 라우팅 테이블) 소유 )</div><div>- 이웃 노드들의 정보를 이용하여 shortest path 정보 갱신</div><div>ex) 노드 A, I, H, K와 이웃한 노드 J</div><div>&nbsp;→ A, I, H, K를 거쳐 B까지 가는 cost를 계산할 수 있음 → 최소 cost를 계산하여 라우팅 테이블 갱</div><div>신</div><div>&lt;Hierarchical routing&gt;</div><div>- 라우터가 너무 많기 때문에 현실적으로는 autonomous 시스템(AS)을 구축하여 AS 간(inter-as routing)은 대표 라우터끼리 라우터 테이블을 만들고, 내부에서는 내부 라우터들끼리(intra-as routing) 라우터 테이블을 만들어서 사용</div><div><br><br></div><div>&lt;IP&gt;</div><div>- IP 주소는 net ID와 host ID 쌍</div><div>- class A(net ID(7)-Host ID(24)) : 2^7 기관을 구분할 수 있도록 하는 net ID와 2^24개의 기관 내 호스트를 구분할 수 있도록 하는 host ID</div><div>- class B(net ID(14)-Host ID(16))</div><div>- class C(net ID(21)-Host ID(8))</div><div>- Dotted Decimal Notation : 8비트(1바이트)씩 조개서 10진수로 표현하는 방식</div><div><br><br></div><div>&lt;Subnet Addressing&gt;</div><div>- 세부 네트워크로 쪼개서 (Subnet ID) 관리하는 방식</div><div>ex) class B의 Host ID(16) 건물의 한층은 같은 Subnet ID(8)를 사용, 한층 내 호스트는 나머지 8비트로 표현</div><div>- 141.223.0.0의 IP로 향하는 모든 트래픽은 대표 라우터로 향하고 해당 라우터는 141.223.0.0에 대한 모든 라우팅 테이블을 가지고 있음</div><div><br><br></div><div>&lt;Subnet mask&gt;</div><div>- net ID과 subnet ID의 서브넷 마스크 값은 1</div><div>- host ID는 0</div><div><br><br></div><div>&lt;IP 주소 구성의 문제점&gt;</div><div>- IP 주소의 부족 : 근본적인 해결책은 IPv6 사용</div><div>- 그러나 너무 오래 걸리므로 단기 해결책인 CIDR을 사용</div><div><br><br></div><div>&lt;CIDR&gt;</div><div>- 300개의 IP 주소가 필요하다고 할 때, 2^8의 호스트를 구분할 수 있는 class C는 부족하고 class B는 너무 크다. 따라서 class와 상관없이 사용할 수 있는 주소가 필요하다</div><div>-200.23.16.0/27에서 “27”은 네트워크 파트를 의미한다. Dotted Decimal Notation를 2진수로 다시 바꾼 11001000 00010111 00010000 00000000 중 앞에서부터 27비트는 네트워크 파트이며 뒤의 3비트가 호스트를 구분하는 주소이다.</div><div><br><br></div><div>&lt;IP 주소를 할당받는 방식&gt;</div><div>- 수동 설정</div><div>- DHCP(임시(동적) IP 주소 할당)</div><div><br><br></div><div>&lt;NAT(Network Address Translation)&gt;</div><div>- 1개의 공인 IP 주소를 통해 많은 사설 IP 주소를 호스트에 할당하는 방식</div><div>ex) 10.0.0.1(사설 IP 주소) 호스트가 128.119.40 에 datagram 전송</div><div>→ NAT 라우터에서 사설 IP 주소를 138.76.29.7(공인 IP 주소)로 바꿔줌</div><div>→ reply가 전송되어 오는 과정에서 NAT 라우터를 경유(목적지 주소는 138.76.29.7;공인 IP 주소)</div><div>&nbsp;→ NAT Router가 138.76.29.7를 10.0.0.1로 변환</div><div><br><br></div><div>&lt;Network 계층의 프로토콜&gt;</div><div>- IP : 신뢰성 보장 X. 신뢰성은 상위 계층 담당</div><div>- ICMP : 인터넷 제어 메시지 프로토콜, 에러 메시지 등 다른 중요 정보 교환</div><div>- IGMP : multicasting에 사용됨</div><div><br><br></div><div>&lt;Data Link 계층의 프로토콜&gt;</div><div>- ARP and ARP : 논리적인 IP 주소를 물리적인 MAC 주소로, 혹은 반대로 변환</div><div><br><br></div><div>&lt;IP datagram header&gt;</div><div>- Time to Live : 라우터를 거칠 때마다 -1. 몇 번의 hop을 거쳐 destination에 가는지를 표현</div><div>- 망끼리는 쓰는 패킷 사이즈가 다를 수 있다 →Fragmentation(Identification, Fragment Offset)</div><div><br><br></div><div>&lt;Transport layer protocols&gt;</div><div>- sender에서 receiver까지, 서로 다른 호스트 간 응용 프로세스 사이의 논리적인 통신 제공</div><div>- 2개의 프로토콜 : TCP, UDP</div><div>- UDP는 좀 잃어버려도 큰 문제가 없음 ex) 스포츠 중계 : 영상이 좀 깨져도 괜찮음. 정확도보다 속도</div><div>- TCP는 신뢰성 보장, 순서대로 전달, 속도보다 정확도가 특징 ex) 은행 송금</div><div><br><br></div><div>&lt;UDP&gt;</div><div>- “best effort” service</div><div>- handshaking 없이! 바로 전송</div><div>- header도 작음(8 바이트)</div><div><br><br></div><div>&lt;TCP&gt;</div><div>- Congestion control, end-to-end flow control, error control</div><div>- 세그먼트 헤더는 20바이</div><div><br><br></div><div>&lt;TCP Flow control&gt;</div><div>- 만일 sender의 속도가 빠르고 receiver의 속도가 느리다면? 버퍼가 넘쳐서 쓸데없는 전송이 됨</div><div>트- 따라서 sender가 보내는 속도를 조절해야 함 : TCP Flow control</div><div>- sender가 receiver에게 segment를 보내면 receiver를 ack을 보낸다. 이때 ack에 가능한 메모리 space 정보를 포함시키며 sender는 receiver의 사용 가능한 메모리 space 증감을 파악할 수 있다.</div><div><br><br></div><div>&lt;TCP Flow control : Stop-and-wait flow control&gt;</div><div>- 하나 보내고 멈춰서(stop) ack이 올 때까지 기다림(wait) : 비효율적</div><div>- pipelining : 3개를 동시에 보냄</div><div><br><br></div><div>&lt;TCP Flow control : Sliding-window flow control&gt;</div><div>- 여러개를 보내고 ack이 올 때마다 하나씩 더 보냄</div><div>- window 크기는 ack 없이 보낼 수 있는 데이터 양</div><div>- 수신자가 데이터를 저장 가능한 receiver’s advertised window와 congestion window 중 최소값</div><div><br><br></div><div>&lt;Error Control&gt;</div><div>- ARQ : 자동 반복 재전송, sender는 ack를 기다리다가 timeout이 넘어가면 재전송</div><div><br><br></div><div>&lt;Stop-and-Wait ARQ&gt;</div><div>-sender는 세그먼트 하나를 보내고 ack를 기다리다가 timeout이 넘어가면 재전송, timeout은 충분히 길어야 함</div><div>- 만일 ack이 유실될 경우 기존에 수신한 패킷은 버린다.</div><div><br><br></div><div>&lt;Go-Back-N ARQ&gt;</div><div>- sliding window 기반</div><div>- 오류가 발생한 패킷으로 돌아간다.</div><div>- (데이터 패킷 전송 오류) 2번 ack까지 수신받았을 경우(3번 패킷 통신에 문제) 4번, 5번 패킷을 받았더라도 버리고 3번부터 재전송한다.</div><div>- (ack 전송 오류) 1번의 timeout 내 0번 ack과 3번 ack이 도착했다면, 1,2번 역시 문제없이 전송되었다고 판단한다. 단, 1번의 timeout 내 아무것도 도착하지 않으면 1번부터 재전송</div><div><br><br></div><div>&lt;TCP Congestion Control&gt;</div><div>- 유선 통신을 가정(에러 없음), 에러(packet loss, timeout)가 발생했다면 트래픽이 몰려서 라우터 버퍼가 넘친 것이므로 트래픽을 줄인다.</div><div><br><br></div><div>&lt;Congestion control by timeout – TCP Tahoe&gt;</div><div>- 초기 congestion window 크기는 1 MSS(한 개의 세그먼트 전송), 이에 대한 ack을 받으면 congestion window 크기를 2배로 늘림timeout을 감지할 때까지)[slow start], timeout을 감지하면 congestion window 크기를 1로 재설정한 후 packet loss가 발생하였을 때의 cwnd/2를 slow start threshold(ssthresh)값으로 설정한다.</div><div>- 이후 slow start 방식으로 cwnd를 1mss에서 2배씩 증가시키다가 ssthresh값에 도달하면 cwnd를 1씩 천천히 증가시킨다.[Congestion Avoidance] timeout을 감지하면 congestion window 크기를 1로 재설정한 후 packet loss가 발생하였을 때의 cwnd/2를 slow start threshold(ssthresh)값으로 재설정한다.</div><div><br><br></div><div>&lt;Congestion control by 3 duplicate Acks&gt;</div><div>- 3번 패킷 loss → 4,5,6번 세 개의 패킷이 와도 3번 ack을 전송 ;세번 duplicate ACK(dupack)를 수신할 경우, 이는 앞의 패킷은 사라졌지만 뒤의 패킷은 잘 전송되었다고 판단하여 cwnd를 1이 아닌 현재의 절반으로 줄인다.[Fast retransmit]</div><div><br><br></div><div><br></div><div><br><br></div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:12:36 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344980811</guid>
      </item>
      <item>
         <title>C3 김영현</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344981595</link>
         <description><![CDATA[<div><strong>5장</strong></div><div><strong>&lt;Network Later Services&gt;</strong></div><div>sender가 보낸 데이터를 recipient가 안전하게 제대로 전달하게 만드는 역할, IP가 주로하는 일</div><div><br><br></div><div><strong>1. Network Later의 기능<br></strong><br>&nbsp;- Forwarding: 입력측에서 packet을 header에 주소를 써서 출력측에 전달하는 행위<br>&nbsp;- Routing: 어느곳으로 보낼지 주소를 보고 판단하는 행위</div><div><br><br></div><div><strong>2. Taxonomy of Networks (Network core)</strong><br><br><br></div><div>- Circuit-switched networks: Circuit을 미리 예약하는 행위를 하고(Circuit establishment ), 예약이 끝났다고 알려주면 통화가 시작되고(Data transfer) 통화 종료 후 통과가 끝났다고 알림 Circuit termination)<br><br></div><div>장점: 오랜 시간 통화 시 좋고, 적은 딜레이</div><div>단점: 채널의 낭비가 존재함&nbsp;</div><div><br>&nbsp;- packet-switched networks: Packet을 보낼 때 미리 커넥션없이 데이터를 Packet 단위로 쪼개서 전송<br>&nbsp;=&gt;쪼개서 보내기 때문에 혹시라도 어느 쪽이 밀리게 되면 Router가 다른 경로로 안내</div><ul><li>Massage Switching</li><li>Packet Switching</li></ul><div>- Massage Switching과 Packet Switching 비교</div><div><br><br></div><div>Packet은 파이프라이닝을 사용해서 전송시간이 짧다</div><div><br><br></div><div>그러나 Packet Switching이 Massage Switching 보다 무조건 좋은 것은 아니다. 데이터를 잘게 쪼갤 수록 header의 수도 늘어다 비효율적인 구간이 발생할 수 있음</div><div><br><br></div><div><strong>3. Routing Algorithms</strong></div><div>Router들이 스스로 계산, 각각의 node는 인접한 node의 코스트를 알고 있음. 이를 바탕으로 최적의 경로를 판단함</div><div><br><br></div><div>- Link State routing: Dijkstra’s Algorithm을 기반한 algorithm, 각각의 node가 이웃한 노드와의 정보를 인식 및 교환, 최종적으로 모든 node가 같은 topology를 만들 수 있음</div><ul><li>Dijkstra’s Algorithm: 교통망 같은 곳에서 나타날 수 있는 그래프에서 꼭짓점 간의 최단 routing path를 찾는 algorithm&nbsp;</li></ul><div><br><br></div><div>- Distance vector routing: Bellman- Ford Algorithm을 활용한 algorithm, 거리를 기반으로 데이터 패킷에 대한 최적의 경로를 결정</div><ul><li>Bellman- Ford Algorithm: Dijkstra’s Algorithm과 달리 이웃한 node에 대한 최단 routing path를 찾는 algorithm</li><li><br></li></ul><div><strong>&lt;IP&gt;</strong></div><div><strong>1. IP addresses</strong></div><div>Host 부분과 Network 부분으로 나눠져 있음, 다섯가지 class로 구분</div><div><br><br></div><div>Net ID: 기관전용</div><div>Host Id : 31(전체) - Net ID</div><ul><li><em>class A</em>: 0, Net ID(7), Host ID(24), Range(0.0.0.0-127.255.255.255)</li><li><em>class B</em>: 1, 0, Net ID(14), Host ID(16), Range(128.0.0.0-191.255.255.255)</li><li><em>class C</em>: 1, 1, 0, Net ID(21), Host ID(8), Range(192.0.0.0-223.255.255.255)</li><li>class D: Multicast Address (우리는 잘 사용하지 않는다)</li><li>class E: Reserved for future use (우리는 잘 사용하지 않는다)</li></ul><div>*Range: 32bit를 8bit씩 잘라서 10진수로 표현한 숫자</div><div>*n비트는 2^n의 수를 할당</div><div><br><br></div><div>- Subnet Addressing: Host ID를 효율적으로 분배하기 위해 고안된 방법( class A와 class B에는 너무 많은 host가 존재)</div><ul><li>Subnet mask: 한 조직 및 기관에서 사용하는 Host ID를 몇 bit로 쪼갰는지 표현하는 기법</li><li>*1=Net ID, subnet ID, 0=Host ID</li><li>ex) Net ID(16bits)/subnet ID(8bits)/Host ID(8bits)</li><li>=&gt;1111111111111111/11111111/00000000</li></ul><div><br><br></div><div>- IP address의 문제: 인터넷의 폭발적인 성장과 이로 인한 IP address의 고갈</div><ul><li>장기적 해결방안: IETF의 IPng(IPv6)</li><li>단기적 해결방안: CIDR=기존 IP address 뒤에 “/”를 사용하여 host part를 알려주는 방식으로 IP address 를 할당하는 방식</li></ul><div><br><br></div><div>- Host가 IP address를 얻는 방법</div><ul><li>매뉴얼을 통한 할당</li><li>DHCP(Dynamic Host Configuration Protocol) =&gt; 임시 IP를 할당 받아서 쓰는 방식으로 스마트폰에서 많이 쓰임</li></ul><div><br><br></div><div>- NAT(Network Address Translation): IP주소 부족의 해결 방법 중 하나로써 공적으로 할당받은 IP를 가지고 내부기관에서 할당해서 Host를 사용하는 방식</div><div><br><br></div><div><strong>2. IP(Internet Protocol)</strong></div><div>IP는 다양한 protocol로 구성됨 (Application layer, Transport layer, Network layer, Data Link layer)</div><div><br><br></div><div><strong>6장</strong></div><div><strong>&lt;Transport layer protocols&gt;</strong></div><div>Sender가 보낸 패킷이 Reciever에게 잘 전달됐는지 확인 두 가지 protocol이 존재함</div><div><br><br></div><div>- User Datagram Protocol(UDP): 정확도, ack, 재전송 불필요&nbsp;</div><div><br><br></div><div>- Transmission Control Protocol(TCP): 속도보단 정확하고 중요한 트래픽을 전송할 때 사용</div><ul><li>Congestion control: Router에 트래픽 발생 시 Packet이 넘치며 buffer 발생=&gt;packet 유실=&gt;Congestion 발생, timeout과 retransmission으로 해결하는 방식<ul><li>slow retransmission: window사이즈가 ssthresh값 이상일 시 선형으로 증가하다 timeout에 의해 act이 도착하지 못할 경우 window사이즈는 1부터 다시 시작하고 cwnd 값 반의 ssthresh값을 가지고 이를 반복함</li><li>3 Dupack 이후에는 window 사이즈가 반으로 줄어든다</li><li><br></li></ul></li><li>End-to-end Flow control: Flow control과 상당히 유사한 방식</li><li>TCP Flow control: Sender가 Receiver보다 성능이 월등히 우수할 경우 데이터 전송 시 buffer가 넘치게 되며 이에 따라 buffer가 넘치지 않도록 조절하는 방식</li><li>Stop-and-wait flow control: Sender가 packet하나를 전송 후 Receiver가 ack를 받게되면 다음 packet을 하나씩 전송하는 방식, 오래 걸리기 때문에 비효율적</li><li>Sliding window flow control: 여러 packet을 보내고 추가로 올 때마다 window size를 밀어 하나씩 더 보내는 방식</li></ul><div><br><br></div><ul><li>Error control: Error가 일어났는지에 대한 여부로 대응하는 방식<ul><li>ARQ(Automatic Repeat reQuest): Stop-and-wait flow control와 유사하나 error로 인해 다음 packet이나 act를 받지 못할 경우 타이머를 설정하여 재 전송을 실시</li><li>Classification</li></ul></li></ul><div><br></div><div><br><br></div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:13:08 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344981595</guid>
      </item>
      <item>
         <title>C4 고다영</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344997157</link>
         <description><![CDATA[<div>Ch5. Network Layer &amp; IP<br>&lt;Network Layer&gt;<br>1. Forwarding &amp; Routing<br>- Forwarding : 라우터가 입력층에서 출력층으로 데이터를 전달<br>- Routing : 어느 곳으로 보내줘야 할지 주소를 보고 판단하는 것<br><br>2. taxonomy of networks<br>- circuit-switched networks<br>: 유선전화망, 전화하고 싶은 전화선을 미리 예약하므로 안정적이지만 channel 낭비<br>- packet-switched networks<br>: 몇 개의 packet으로 나눠 보내는 것<br>: 시간 단축 가능하지만 많이 자른다고 무조건 좋은 것은 아님<br><br>3. ★Routing Algorithms<br>1) Link State Routing<br>- Dijkstra's Algorithm<br>: source에서부터 이웃한 라우터들끼리 cost를 계산<br>: 가장 짧은 경로를 선택하며&nbsp; 반복해서 routhing table을 제작<br>--&gt; source로부터 모든 목적지까지의 최단 경로를 알 수 있음<br><br>2) Distance Vector Routing<br>-Bellman-Ford Algorithm<br>ex. J의 이웃한 노드는 A,I,H,K 이고<br>각 이웃한 노드에서 각 노드까지의 cost를 알고 있는 routing table을 활용하여 최단 경로를 알 수 있음<br><br>4. Hierarchical routing<br>: 대표 라우터를 선정하고 내부의 라우팅 테이블을 만든 후, 각 region에 갔을 때 각 region 내부의 routing table을 사용하는 방식<br><br>&lt;IP(Internet Protocol)&gt;<br>1. 32bit IP address (net ID, host ID)<br>1) class A 0 net ID(7) Host ID(24)<br>2) class B 10 net ID(14) Host ID(16) &lt;- 주로 이용<br>3) class C 110 net ID(21) Host ID(8)<br><br>2. Subnet Addressing<br>: Net ID(16bit) Subnet ID(8bit) Host ID(8bit)<br>- Subnet Mask ex) 255.255.255.0<br>: Net ID랑 Subnet ID는 1로, host ID는 0으로 해서 서브넷과 host를 구별할 수 있음<br><br>3. IP address양 증가가 필요하다<br>1) 장기적으로는 IPv6<br>2) 단기적으로 CIDR<br>ex) 200.23.16.0/27 -&gt; 앞에서 부터 27bit만큼 network part로 설정하여 class B와 class C 사이도 이용 가능함<br><br>4. IP address를 할당받는 방법<br>: DHCP - 임시 IP address를 할당받아 반납<br>-&gt; NAT (Network Address Translation)<br>: 할당받은 공적인 IP address가 있고 기관 내부에서는 사적으로 각 host마다 IP address를 사용함<br>: 내부에서는 사설 IP를 사용하지만 외부로 전달할 때는 공적인 IP address를 사용 (NAT translation table)<br><br>5. IP layering<br>1) Application Layer<br>2) Transport Layer (TCP, UDP)<br>3) Network Layer (IP)<br>4) Data Link Layer<br><br><br><br><br>Ch6. Transport Layer (TCP, UDP)<br>1. UDP<br>: 좀 잃어버려도 상관 없는 경우 ex. 실시간 운동 경기<br>"전송이 잘되면 좋지만 안되면 어쩔 수 없다."<br><br>2. TCP<br>: error없이 깐깐하게 정확해야 함 ex. 은행 송금<br>1) Congestion Control<br>- Slow Start<br>: window size를 1부터 시작하며 2의 n승으로 증가하다가 ssthreshold를 넘어서부터 linear하게 증가<br>: 만약 ACK가 도착하지 않아 timeout이 발생한다면, window size는 다시 1부터 시작되며 ssthreshold는 마지막 timeout이 발생할 때의 window size/2<br>-Fast Retransmit<br>: slow start와 마찬가지로 시작하다가 3 dupack을 받게 된다면 ssthreshold(마지막 window size/2) 에서 다시 시작<br>cf) dupack : Go-Back-ARQ에서 receiver에 3번 packet이 도착하지 않아서 3번 packet을 기다린다는 메세지를 3번 전달했을 때<br>&nbsp;<br>2) End-to-end Flow Control<br>: sender가 receiver의 범퍼가 넘치지 않도록 속도를 조절<br>: receiver에서 ACK를 보낼 때 사용 가능한 buffer size를 전달<br>- Stop-and-wait flow control : 보낸 후 ACK가 올 때까지 stop<br>cf) pipelining : 여러 packet을 나눠서 전달하는 것<br>- Sliding-window flow control : window size만큼 packet을 전달, ACK가 도착할 때마다 window size가 한 칸씩 이동<br>cf) window size : receiver가 소화 가능한 buffer 크기<br><br>3) Error Control<br>- Stop-and-Wait ARQ(Automatic Repeat reQuest)<br>: ACK가 올 때까지 sender가 기다리다가 time out되면 재전송<br>: Receiver가 packet을 받았지만 ACK가 누락된 경우에도 time out 이후에 sender에서 packet 재전송<br>-Go-Back-N ARQ<br>: sender에서 순서대로 packet을 보내다가 receiver가 packet을 받지 못한다면 sender에 ACK를 보내지 않음<br>: 따라서 sender에서는 ACK가 도착하지 않아 일정 시간 후 timeout 됨<br>: sender는 timeout이후 ACK가 도착하지 않은 packet에서 부터 retransmit<br>: receiver는 누락된 packet부터 timeout 되기 전까지 받았던 packet들을 버림<br>but if<br>:0번 ACK가 도착한 이후 3번 ACK가 도착했다면 Receiver가 1,2번 packet을 받지 못했다면 discard 했을 것이므로 1,2번 packet을 받았으나 ACK가 누락된 것으로 간주<br>: 따라서 sender는 순차적으로 계속 packet을 보낼 수 있음 (cumulative ACK)<br>but<br>: 3번 ACK를 받기 전 1번 ACK를 받지 않아 timeout에 걸린다면 다시 1번 packet부터 retransmit<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:22:52 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2344997157</guid>
      </item>
      <item>
         <title>B2 최선이</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345005460</link>
         <description><![CDATA[<div>5장</div><div>* network layer : 수신자의 주소를 보고 forwarding을 하는데 그 과정에서 routing(어디로 보낼지 주소를 보고 판단하는 행위)&nbsp;</div><div>forwarding : 데이터를 받아서 출력 측으로 보내는 역할</div><div>routing : 어느 곳으로 보낼지 주소를 보고 판단하는 행위</div><div>*circuit switching</div><div>옛날 전화 방식, circuit을 만들고 circuit을 예약하고 circuit을 끊는 행위가 필요함.</div><div>장점 : 리얼 타임으로 오랜 시간 통화할 때 좋음 딜레이가 없음</div><div>단점 : 채널 낭비가 있음</div><div>패켓 스위칭 : 하나의 데이터가 여러개로 쪼개서 나감. 밀리면 순서가 바뀜. 시간 단축(pipe line)</div><div>라우팅 알고리즘 : 라우터들이 스스로 계산하여 최적의 경로를 만드는 것</div><div><br><br></div><div>link state routing algorithm : 선택되고 나면 라우팅 테이블을 만듦. 이웃한 노드와 cost 노드를 전체에게 알려줌.</div><div>distance vector algorithm : 자기 이웃하고만 데이터를 주고 받음. 이웃한 노드의 라우팅 테이블을 이용해 최적 경로를 만듦.</div><div><br><br></div><div>5-2장&nbsp;</div><div>IP(Internet Protocol) : 라우팅 알고리즘을 실제로 구현하는 프로토콜</div><div><br></div><div>CIDR : 기존의 class 방식으로 나누는 것이 아니라 ‘/’와 숫자를 더해서 5bit가 host part임을 나타냄.</div><div><br><br></div><div>IP address를 어떻게 할당하느냐?</div><div>Manual configuration : 자신이 메뉴얼로 할당하는 방식</div><div>DHCP : 정규가 아닌 임시 ip를 사용하고 반납하는 방식</div><div><br><br></div><div>NAT : 공적 ip 이외에 사적 ip를 내부에 따로 할당하여 사용.</div><div><br><br></div><div>IP 다양한 프로토콜로 만들어짐</div><div><br><br></div><div>Time to Live : 라우터를 거칠때마다 몇번의 홉을 걸쳐 destination 까지 갔는지를 측정하기 위해 사용.</div><div><br><br></div><div>6장</div><div>Transport layer protocols : 송수신시 에러, 딜레이 등 여러 전달 상황을 확인.</div><div>UDP: 간단한 트래픽을 전송할 때 사용</div><div>TCP: 실수가 없어야 하는 트래픽을 전송할 때 사용</div><div><br><br></div><div>stop and wait flow control : 보낸다음 스탑하고 ack가 오길 기다림. 효율성 떨어짐.</div><div>Sliding window flow contrel : 여러개를 보내고 올때마다 하나씩 더 보내는 방식.</div><div><br><br></div><div>Error control</div><div>congestion control : 네트워크 트래픽이 몰리면 congestion이 일어난다.</div><div>모든 로드가 트레픽이 몰려서 버퍼가 넘치면 필요한 방법이다.</div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:28:01 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345005460</guid>
      </item>
      <item>
         <title>C3 유지연</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345009693</link>
         <description><![CDATA[<div>Chap5. Network Layer &amp; IP&nbsp;</div><div><br><br></div><div><strong>Network Layer Services</strong></div><div>미국으로 편지를 보낼 때 우체국 - 미국 - 미국 우체국</div><div>send측에서 보낸 데이터를 receiver측에서 안전하게 전달하게 만드는 역할을 하는 것.</div><div>Network protocol인 IP가 주로 하는 역할.</div><div>컴퓨터에서는 패킷이라는 데이터를 보낼때 마다 header에 주소(ip)를 써서 보냄</div><div><br><br></div><div>Network Layer Function</div><div>Forwarding 입력층에서 받음, 출력층으로 보냄</div><div>routing : 어디로 보내야할지 주소를 보고 판단하는 행위.</div><div><br><br></div><div>Circuit-switching(옛날 전화 방식)</div><div>-전화선을 미리 예약함</div><div>-circuit(회선)을 미리 예약을 해서 예약이 완성이 되면 그때부터 통화가 시작됨.</div><div>통화가 끝나면 끝났다는 메시지를 보내서 회선을 끊음.</div><div>3가지 과정</div><div>circuit establishment</div><div>Data transfer</div><div>Circuit termination</div><div>장 : circuit이 예약이 되어서 계속 전화할 때 좋음. delay도 없음</div><div>단 : 채널의 낭비가 일어남</div><div><br><br></div><div>Message Switching</div><div>층을 나누는게 없음.</div><div>메세지가 길어지면 시간이 오래 걸림</div><div>메세지가 크면 버퍼의 사이즈가 커야 함.</div><div>packet switching</div><div>-message switching의 일부</div><div>-packet을 보낼 때 미리 connection 없이 한데이터를 packet단위로 쪼개서 보냄.</div><div>-경로가 밀리게 되면 router가 동일한 길로 안내를 해주지 않고 다른 경로를 알려줌→ receiver측에 도착하는 순서가 달라질 수 있음. 순서를 다르게 받아도 순서를 재정비해서 보내기 때문에 괜찮.&nbsp;</div><div><br><br></div><div><strong>Routing algorithm</strong></div><div>router가 routing table 을 잘 만들어두면 ,header만 따라가도 잘 도착함.</div><div>2가지</div><div>Link State routing</div><div>Distance vector routing</div><div>1)Link State routing</div><div>각각의 노드가 교환을 하게 되면, 모든 노드가 이웃의 cost도 알고 있고 동일한 topology그림을 만들 수 있음.</div><div>2)Distance vector routing&nbsp;</div><div>이웃만 데이터를 주고 받음.&nbsp;</div><div>-routing table을 모두 만들면 현실적으로 너무 오래걸림.&nbsp;</div><div>각각의 AS에서 대표 router를 선정하고 대표 router들 끼리만 routing table을 주고 받음.</div><div><br><br></div><div><strong>IP&nbsp;</strong></div><div>-크게 5가지 class로 구분(A-C를 주로 사용)</div><div>-각각의 address는 net ID와 hostID로 구분됨.</div><div><br><br></div><div>Subnet Addressing</div><div>-host ID를 효율적으로 사용하기 위해서</div><div><br><br></div><div>CIDR</div><div>-기존의class를 나누는 방식이 아닌 (class2와 class3사이의 host address가 없음)&nbsp;</div><div>/숫자(network part)를 사용하여 class2와 class3사이의 host address를 만듦&nbsp;</div><div><br><br></div><div>2가지 방식</div><div>Manual configuration</div><div>DHCP</div><div><br><br></div><div>chap6.&nbsp;</div><div><br><br></div><div>Transport Layer protocol</div><div>-sender가 보낸것이 destination에 잘 도착했는지, 에러나 delay는 없는지를 살피는 곳.</div><div>UDP : 간단, 에러가 있어도 괜찮 ex)축구경기</div><div><br><br></div><div>TCP : 정확 , 재전송 ex)은행전송</div><div>1.congestion control(sender가 데이터를 보내는데 전송이 안됨)</div><div>2.end-to-end flow control(보내고 받는 속도 조절)&nbsp;</div><div>1)stop-and-wait flow control : 효율이 떨어짐.</div><div>2)sliding window flow control : window size 만큼 보내고 1개씩 더보냄.</div><div>3.error control</div><div>1)stop-and-wait ARQ</div><div>(1)error-free operation</div><div>(2)lost data packet</div><div>(3)lost ACK timeout</div><div>2)go-back-n-ARQ</div><div>-sliding window 사용</div><div>(1)Error-free operation</div><div>(2)Corrupted data packet</div><div>&nbsp;데이터를 보내고 ack를 받지못하고 timeout이 되면 다시 데이터를 보냄</div><div>(3)Corruped ACKs</div><div>1, 2 ack를 못 받았지만 3번 ack를 받으면 1,2번도 당연히 받은것으로 보고 3번 ack가 사라진 것으로 판단. 이후 계속 진행</div><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:30:46 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345009693</guid>
      </item>
      <item>
         <title>A2 전예찬</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345012155</link>
         <description><![CDATA[<div>5장 Network Layer &amp; IP<br><br>Network Layer : 정보를 전달하는 데 중요한 역할<br>=&gt; 데이터를 보낼 때 쓰는 주소를 IP adress 라고 한다.<br><br>Routing =&gt; 어디로 데이터를 보낼지 주소를 보고 확인하는 행위<br>Forwarding =&gt; Routing 후 데이터를 보내는 행위<br><br>Communication networks<br><br>Circuit Switched Networks<br>1G, 2G에서 사용하던 방식<br>미리 회선을 예약하고 전달한 뒤 전달이 끝나면 회선을 취소하는 방식<br>장점:&nbsp; circuit을 예약하기 때문에 오랜 시간 연결이 가능함<br>단점:&nbsp; 예약을 하는 과정에서의 낭비가 있음<br><br>Packet Switched Networks<br>3G이후부터 사용하는 방식<br>즉각적으로 데이터를 보냄<br>순서를 상황에 맞게 바꿈 (이 과정에서 Router 필요함)<br>데이터를 쪼개서 보냄<br><br>Routing Algorithm<br>Router가 데이터를 보내는 곳을 선택하는 데에 사용되는 기술<br><br>1. Link state routing<br>각각의 노드가 인접하는 노드들에게 데이터를 전송하는 데에 필요한 cost가 얼마인지 서로 공유하여 각 노드가 모든 cost를 알고 있는 상태에서 전송을 하는 방식<br><br>이 후 정해진 노드로 갈 수 있는 가장 작은 cost를 알고리즘으로 계산 (꼭 알아두기)<br><br><strong>질문) Class를 A,B,C종류로 나눌 때, A는 Net/Host의 비율을 7/24, B는 14/16, C는 21/8이라는 정해진 비율로만 나누는 이유는?<br>(C는 Host가 너무 적어 비효율적이지만 Net을 많이 쓰는 경우 B보다 더 많은 Net이 필요한 경우가 있을 수 있음)<br><br><br></strong>NAT (Network Address Transtation)<br>Router를 이용해서 여러개의 컴퓨터에게 신호를 보내는 방식<br><br>6장<br>Transfort Layer<br>sender(S)가 보낸 것이 목적지에 잘 도착했는지 여부를 파악하는 것<br>종류:UDP, TCP<br><br>1. UDP(User Datagram Protocol)<br>중요하지 않은 정보를 보낼 때 사용<br>중간에 데이터 손실이 있을 수 있음<br>속도가 빠름<br>ex) 스포츠 중계 등<br><br>2.TCP(Transmission Control Protocol)<br>정확도가 높고 중요한 정보를 전송하는 데에 사용 ex)은행정보<br><br>정확하고 데이터 손실을 줄이기 위해 여러 control이 사용되어짐<br><br>1. congestion control<br>2. End-to-end Flow control<br>3. Error control<br>이 세가지는 매우 중요하기 때문에 꼭 기억하기<br><br>&nbsp;End-to-end Flow control<br>sender(S) 와 reicever(R) 사이의 속도 차이가 클 때, 특히 S의 속도가 R의 속도보다 빠를 때, S의 속도를 낮추는 방식<br>1. Stop and Wait Flow Control<br>하나 보내고 ACK 확인 후 다시 보내는 방식<br>속도가 느려지고 비효율적임<br><br>2. PiPelining increases utillization<br>여러개씩 보내고 ACK를 받을 때마다 다시 하나씩 전송하는 방식<br>위의 방식보다 배로 빨라짐<br><br>Error control<br>1. Error Free Operator<br>하나하나 보내서 오류를 없앰<br>2. Lost Data Packet<br>전달이 실패하여 ACK가 오지 않으면 일정 시간을 확인 후 다시 전송을 하는 방식<br>3. Lost ACK Timeout<br>ACK의 전송이 실패하여 R에게 다시 데이터를 보내면 R이 데이터가 2개임을 확인하고 한 개의 데이터를 지운 뒤 ACK를 보내어 전송을 확인하는 방식<br>4.Go-Back-N ARQ<br>slide window를 사용하는 방식<br>여러개의 데이터를 전송한 뒤 ACK의 도착을 확인하면서 보내다가 ACK의 전송이나 패키지의 전송에서 오류가 발생하면 오류가 발생한 곳부터 다시 전송을 하는 방식<br><br>Congestion Control<br>전송시 많은 데이터가 전송되어 Router가 막히는 문제가 발생할 때 이를 해결하는 문제<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:32:20 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345012155</guid>
      </item>
      <item>
         <title>C3 허채원</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345013459</link>
         <description><![CDATA[<div><strong>Chap 5<br></strong><br></div><div><strong>Network layer &amp; IP</strong></div><div><br></div><ul><li>Network layer services<br>&nbsp;: 데이터를 안전하게 리시버까지 보내주는 역할</li></ul><div><br></div><ul><li>Network layer 의 두가지 중요한 기능<br>&nbsp;- forwarding : header value 에 맞는 output link로 전달하는 행위<br>&nbsp;- routing : header value에 대응하는 output link 결정</li></ul><div><br></div><ul><li>Communication networks<br>&nbsp;- circuit- switched networks : 유선전화에서 쓰는 방식, 1G- 2G<br>&nbsp;- pocket-switched networks : 컴류터 통신망에 쓰는 방식, 3G</li></ul><div><br></div><ul><li>Circuit switching<br>&nbsp;: 연결위주의 통신방식<br>&nbsp;- 세가지 단계<br>&nbsp;①circuit establishment : circuit(회선) 만들기<br>&nbsp;②data transfer : ex) 통화<br>&nbsp;③circuit termination : circuit 끊기<br>&nbsp;- 장점<br>&nbsp;: real time으로 오랜 시간 통화에 좋다. Delay가 없다.<br>&nbsp;- 단점<br>&nbsp;: ‘세가지 단계’ 로 인한 채널 낭비가 존재한다.<br><br></li><li>Message switching<br>&nbsp;: 통신경로가 미리 설정되어있지 않다.<br>&nbsp;: message 가 길어지면 오래걸린다. 길면 버퍼의 용량이 커야한다.<br><br></li><li>Pocket switching<br>&nbsp;: message 가 커서 쪼개는 것<br>&nbsp;: 시간이 단축된다.<br>&nbsp;: 무조건 잘게 쪼갠다고 시간이 길어지는 것은 아니다. header 때문. Header 크기와 data의 크기가 비슷해질수록 시간단축효과가 떨어진다.<br>&nbsp;</li><li>Routing algorithms<br>&nbsp;: routing table 을 만드는 알고리즘<br>&nbsp;: router 각자가 계산해서 table을 만든다.<br><br></li><li>Hierarchical routing<br>&nbsp;: 넓은 네트워크를 몇개의 네트워크 레벨로 크기를 분할하여 경로를 간소화하고 계층화하는 것.</li></ul><div><br></div><div><br></div><div><strong>IP(Internet Protocol)</strong></div><div><br></div><ul><li>IP<strong><br> </strong>: IP주소는 net ID, host ID 두가지가 있다.<br>&nbsp;: 크게 5가지 클래스로 구분된다. (Class A ~ Class E) 그 중 B를 가장 많이 선호.</li></ul><div><br></div><ul><li>Subnet Addressing<br>&nbsp;: host ID를 세부 네트워크로 subnet ID와 host ID로 쪼개서 사용하는 것.<br>&nbsp;: 몇개dml subnet으로 나눴는지 알기위해 사용하는 것 : subnet ID<br><br></li><li>IP주소 부족 문제의 해결책<br>&nbsp;: CIDR(Classless Inter-Domain Routing)<br>&nbsp;: NAT(Network Address Translation)</li></ul><div><br></div><div><strong>Transport layer</strong></div><div><br></div><ul><li>Transport protocols<br>&nbsp;- UDP<br>&nbsp;- TCP<br><br></li><li>UDP(User Datagram Protocol)<br>&nbsp;- 인터넷에서 사용되는 프로토콜 중 가장 간단<br>&nbsp;- ‘best effort’ service 전송이 잘 되면 좋지만 안 되어도 괜찮다.<br>&nbsp;- connectionless : UDP sender 와 recevier 사이에 handshaking 없음<br>&nbsp;- 멀티미디어 스트리밍에 많이 쓰인다.<br><br></li><li>TCP(Transmission Control Protocol)<br>&nbsp;: 에러가 있으면 안 되고 정확해야한다.<br>&nbsp;- 대표적인 control 3가지<br>&nbsp;① Congestion control&nbsp;<br>&nbsp;② End-to-end Flow control : sender 와 receiver 사이에 보내는 속도 조절을 위해 사용<br>&nbsp;③ error control<br><br></li><li>TCP Flow control의 over flow를 방지하는 방법<br>&nbsp;- stop-and-wait flow control : segment 하나를 주고 ack를 받고 하는 방식, 효율이 떨어진다.<br>&nbsp;- sliding-window flow control : pipelining를 이용하여 해결<br><br></li><li>Error control<br>&nbsp;- stop-and-wait ARQ<br>&nbsp;- Go-Back_N ARQ<br><br></li><li>stop-and-wait ARQ<br>&nbsp;- lost data packet : ACK가 안 오면 올 때 까지 기다린다. 이 문제를 해결하기위해 time out을 설정한다. 설정된 시간 후 같은 데이터 재전송<br>&nbsp;- Lost ACK timeout : 같은 데이터를 두번 받았을 경우, 각 데이터의 헤더에 sequence number을 이용한다. Receiver 가 같은 시퀀스 번호를 발견했을 경우, 그 데이터는 폐기된다.<br><br></li><li>Go-Back_N ARQ<br>&nbsp;- Error-free operation<br>&nbsp;- corrupted data packet<br>&nbsp;- corrupted ACKs : 첫번째 두번째 데이터를 받지 못해도 time out 안에 세번째 데이터를 받으면 그냥 계속 진행&nbsp;</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:33:09 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345013459</guid>
      </item>
      <item>
         <title>C2 손건우</title>
         <author>tnqkrthsus18</author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345015394</link>
         <description><![CDATA[<div>5장<br><br>-Network Layer<br>forwarding: 주소를 보고 패킷이 가야될 router로 전송<br>routing: 패킷이 가야할 router를 결정<br><br>Circuit-switched networks - 유선 전화망<br>통화를 하고 싶으면 미리 전화선을 예약<br>통화가 끝나면 예약했던 회선을 취소<br>연결과 통화, 끊는 행위 필요<br>장점: 실시간으로 오래 통화할 때 좋다 -&gt; 딜레이가 없음<br>단점: 채널의 낭비가 존재<br><br>Message Switching<br>잘라서 낱개로 보낸다<br>Packet-switched - 컴퓨터 통신망<br>사전 연결없이 패킷 단위로 쪼개서 보낸다(하나의 데이터를 여러 패킷으로 분해)<br>만약 밀리게 되면 router가 다른 경로를 찾아준다.<br>하나의 패킷을 보내고 남는 시간에 다른 패킷을 보낸다 -&gt; 시간 단축<br>무조건 패킷을 잘게 쪼갠다고 좋은게 아니다<br>순서가 바뀌어서 받더라도 데이터에는 문제 x<br><br>Routing Algorithm을 통해 최적화된 routing 경로를 찾는다.(최소한의 비용)<br>1)Link State routing algorithm<br>각각의 노드는 전체 노드의 구성을 안다.<br>각 스텝에서 노트를 거쳐 주변으로 가는 경로를 계산 -&gt; 각 경로를 거쳐 최적 경로 계산 -&gt; routing table을 작성<br>2)Distance vector routing algorithm<br>자신 이웃 노드의 데이터만 주고 받는다<br>이웃노드가 목표 노드로 가는 경로와 이웃노드로 가는 경로 고려해서 계산<br><br>-IP Addresses<br>class A : 0 + Net ID(7) + Host ID(24)<br>class B : 10 + Net ID(14) + Host ID(16)<br>class C : 110 + Net ID(21) + Host ID(8)<br>class D : 1110 + Multicast Address<br>class E : 11110 + Reserved for future use<br><br>-subnet addressing<br>Host ID(16)를 subnet id(8)와 host id(8)로 나눈다.<br><br>iot의 등장으로 ip주소가 점점 모자르게 된다 -&gt; IPng<br>NAT: 하나의 공적 IP address를 받아서 사설 ip address를 만들어서 할당<br><br>6장<br><br>-UDP(User Datagram Protocol)<br>오류가 생겨도 문제 없는 경우 사용 ex) 축구 방송<br>기본적인 골격만 존재 -&gt; 간단<br>전송이 잘되면 좋지만 전송이 안될 수도 있다.<br>패킷이 사라질수도 있다.<br><br>-TCP(Transmission Control Protocol)<br>오류가 없어야하는 경우 사용 ex) 은행 업무<br>까다롭다<br>congestion control&nbsp;<br>end-to-end control<br>error control<br><br>-Error Control<br>Stop-and-Wait ARQ: time-out 사이에 ACK를 못받으면 재 요청<br>Go-Back-N ARQ: time-out 사이에 다음 ACK를 받으면 이전 패킷이 잘 전송되었다고 생각하고 재요청하지 않는다.<br><br>-TCP Congestion Control<br>고속도로가 막히면 해결해야한다<br>만약 유선에서 에러가 발생한다면 router에 오류가 발생했다고 생각한다 -&gt; 모든 노드가 트래픽을 줄인다.<br>time out에 의해서 패킷이 오지 않는다면 현재 값의 반을 ssthresh 값으로 둔다.<br>빠른 재요청후 window size를 반으로 줄인다.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:34:26 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345015394</guid>
      </item>
      <item>
         <title>B4김태현</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345016280</link>
         <description><![CDATA[<div>Network Layer &amp; IP<br>주소를 보고 reciver에게 전달.</div><div>&nbsp; &nbsp;</div><div>Network Layer가 하는 function : 데이터를 받아서 forwarding에서 받아서 Routing으로 보냄</div><div>- 보내는 방향을 결정한다</div><div>Routing : 주소를 받아 어디로보낼지 판단하는 것</div><div>유선 네트워크망&nbsp;</div><div>- Circuit(회선) switched networks (1,2세대)&nbsp;</div><div>- Packet-swiched networks (3세대부터~)</div><div>&nbsp; &nbsp;</div><div>Circuit switched networks&nbsp;</div><div>오랜시간을 통화할 때 아주 좋음</div><div>채널의 낭비가 존재함</div><div>&nbsp; &nbsp;</div><div>Packet-swiching networks : 하나의 데이터가 여러개의 Packet로 쪼개보냄</div><div>순서가 바뀌어 받았을 때 스스로 순서를 재정비함</div><div>파이프라이닝 : Packet 1을 보내고 2를 보낸 사이에 다음 routing에서 packet1을 보냄</div><div>파이프라이닝을 통해서 빠른 전송 가능</div><div>파이프라이닝이 너무많이하면 오히려 안좋아짐</div><div>&nbsp; &nbsp;</div><div>Routing algorithm</div><div>라우팅 테이블은 헤더를 보고 수신지까지 잘 전달 가능</div><div>라우팅 테이블을 어떤식으로 만들건지 만드는 알고리즘<br>router &gt; router 이동간 cost 발생 &gt;&gt; 최소 cost로 가는 알고리즘 (2가지)</div><div>&nbsp; &nbsp;</div><div>(1) Link State routing algorithm : 각각의 노드가 전체 노드경로를 알고 있다. </div><div>(2) Distance vector routing algorithm </div><div>&nbsp; &nbsp;</div><div>IP(Internet Protocol)</div><div>- 5가지 클래스로 구분된다(class A ~ E)</div><div>- 0 / Net ID / Host ID [class A = 0 / 7 / 24] (class C = 110 / 21 / 8]</div><div>- 한 조직기관에서 몇 비트로 쪼갰는지 알 수 있기 위해 subnet mask를 쓴다.</div><div><br></div><div>&nbsp; &nbsp;</div><div>IP adress 사용자가 많아지며 수가 부족해짐.</div><div>IPv6 : 새로운 버전을 만든다&nbsp;</div><div>CIDR&nbsp;</div><div>DHCP : 임시 IP 주소를 받아 쓰고 반납하는 방식</div><div>&nbsp; &nbsp;</div><div>NAT (Network Address Translation, IP 문제 해법 중 하나)</div><div>공적 인증 IP + 내맘대로 설정한 사적 IP</div><div>사적 IP에서 보낸 정보를 라우터를 거쳐 공적 인증 IP로 발신자를 변경</div><div>&nbsp; &nbsp;</div><div>&lt;6장 Transport layer&gt;</div><div>UDP / TCP&nbsp;<br>UDP : 간단한 프로토콜</div><div>TCP : 정확한 전송을 요구할 때&nbsp;</div><div>&nbsp; &nbsp;<br>stop and wait : 하나 보내고 잘보냈다는 ACK을 표시<br>파이프라인기술을 통해 여러개를 보내고 올때마다 하나씩 더보내는 방식</div><div>&nbsp; &nbsp;&nbsp;</div><div>TCP Congestion Control</div><div>중간에 라우터에 버퍼가 넘친다고 가정 &gt; 개수를 줄이는 방법을 함<br>time out :&nbsp; 2^n만큼 증가 &gt; 점차 2씩 증가, 과부하가 되면 처음부터 시작.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:34:59 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345016280</guid>
      </item>
      <item>
         <title>B1 하병주</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345017541</link>
         <description><![CDATA[<div>Network Layer Services<br>&nbsp;- sender가 보낸 data를 receiver측에 안전하게 도달하게 하는 역할<br><br>Two Key Network Layer Functions<br>- Forwarding : 주소를 보고 그 쪽으로 전달하는 행위<br>- Routing : 어느 곳에 보내야 될지 주소를 보고 확인하는 행위<br><br>Circuit Switching (옛날 전화 방식)<br>- Three Phases : Circuit establishment, Data transfer, Circuit termination<br>- 장점 : 오랜시간 통화 가능<br>- 단점 : 낭비가 있다.&nbsp;<br>- 전화번호 누르면 회선을 미리 예약한다. 예약이 완성되면 통화하고 끝나면 끊어버린다.<br><br>Message Switching<br>- 미리 circuit을 만들거나 끊는 행위 없이 바로 메세지 보내는 방식<br>- 메세지 사이즈가 크면 버퍼 사이즈 커야함<br>Packet switching<br>- 중간중간 잘라서 보내는 방식, 패킷 단위로 보냄<br>- 단말에서 패킷 하나를 보낸뒤에 다른 버퍼에서 그 패킷을 보내면 단말에서 다음 패킷을 보내는 방식<br>* 패킷을 무조건 작게 자르는 것이 좋은 것은 아니다. 헤더 사이즈가 있기 때문에 적당히 자르는 것이 좋다. 헤더사이즈가 있기 때문에 너무 많이 자르면 적게 자르는 것보다 더 커질 수도 있다.<br><br>Routing Algorithms<br>- 라우팅 테이블을 만드는 알고리즘, 각자 스스로 계산하는 알고리즘 채택<br>- 2가지 알고리즘 : Link State routing, Distance vector routing<br><br>Link State routing<br>- Dijkstra's Algorithm기반<br>- 각각의 라우터는 이웃한 노드의 cost를 알고있음. 이걸 서로서로 다 교환함. 그러면 모든 노드가 구조를 알 수 있음.<br>- 목적지까지의 비용을 계산해서 최적의 경로를 찾아낼 수 있다.<br><br>Distance vector routing<br>- Bellman-Ford Algorithm 기반<br>- 하나의 이웃하고만 정보를 주고 받음. 그리고 각자가 가지고 잇는 routing table을 이용하여 계산한다.<br>- 예를 들어 포항에서 대전 갈때 영덕, 안동, 대구까지의 비용은 알고 있다. 그리고 3도시에서 대전가는 비용을 안다면 계산할 수 있는 것이 Bellman-Ford Algorithm<br><br>IP(Internet Protocol)<br><br>- Problems of IP address scheme<br>&nbsp; - IETF solutions<br>&nbsp; &nbsp; - IPng(IPv6) : 모든 장비를 바꿔야 됨. 시간이 많이 걸림<br>    - CIDR<br><br>Transport Layer<br>- sender와 receiver 사이에 데이터 전송이 이루어짐. 잘 도착했는지 여부 확인 등의 일을 함.<br><br>UDP(User Datagram Protocol)<br>- 사람으로 치면 털털하고 간단하다.<br>- 패킷을 조금 잃어버려도 상관없다.<br><br>TCP(Transmission Control Protocol)<br>- 속도보다는 정확<br>- Congestion control : sender가 데이터를 보냈는데 제 때 전송이 안 됐을 때와 비슷한 상황<br>&nbsp; - Retransmission timeout : timeout에 의해 ack가 오지 않음 그래서 처음으로 떨어짐.<br>&nbsp; - 3 Duplicate Acks : 3dupack이 오게 되면 timeout이 아니라 현재 값이 반으로 떨어져 다시 선형적으로 증가하는 방식<br>- End-to- end Flow control : sender와 receiver 사이의 보내는 속도와 받는 속도 조절<br>&nbsp; - Stop-and-wait flow control : 데이터를 보내고 ack가 오길 기다리는 방식<br>&nbsp; - Sliding-window flow control : 여러개를 보내고 올 때마다 하나씩 더 보내는 방식&nbsp;<br>- Error control : 패킷이 가다가 노이즈나 기타 이유로 에러가 생긴 경우<br>&nbsp; - Stop-and-Wait ARQ<br>&nbsp; - Lost data Packet<br>&nbsp; - Lost ACK timeout<br>- Go-Back-N ARQ<br>&nbsp; - Error-free operation<br>&nbsp; - Corrupted data packet<br>&nbsp; - Corrupted ACKs<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:35:46 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345017541</guid>
      </item>
      <item>
         <title>C4 신하나</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345022663</link>
         <description><![CDATA[<div><strong>#5-1강</strong></div><div>[Network Layer &amp; IP]</div><div>1.Network Layer의 역할</div><div>-sender가 보낸 data를 receiver측에 안전하게, 제대로 전달함.</div><div>-컴퓨터 network에서 packet이란 data보낼때 header에 주소 써서 보냄. IP address 전 세계 공통의 주소체계를 사용.</div><div>2.Network Layer의 Function<br>-Routing : 주소를 보고 어디로 보낼지 결정<br>-Forwarding : 정보를 전달</div><div>3.Network의 구분</div><div>(1)유선 전화망 : Circuit-switched networks. 1,2G</div><div>(2) 컴퓨터 통신망 : Packet-switched networks, 3G부터</div><div>3-1) Circuit switching</div><div>-전화를 받을 사람의 번호를 누르고 미리 회선(Circuit)을 예약함. 통화가 끝나면, 예약한 회선 취속</div><div>-Circuit establishment → Data transfer → Circuit termination</div><div>-장점: 한번 circuit이 예약되면 real-time 으로 오랜시간 통화할 때 좋다.</div><div>-단점: circuit 만들고 끊는것이 overhead가 될 수 있다. channel의 낭비가 존재한다.</div><div>3-2) Message Switching</div><div>-바로 메세지를 보내는 방식. Packet switching은 message switching의 일부이다.</div><div>3-3) Packet Switching</div><div>-packet을 보낼 때 데이터를 packet단위로 쪼개서 보낸다.</div><div>-순서 바뀌어도 순서 재정비해서 상관없음.</div><div>4.Switching 비교</div><div>-message switching은 circuit Switching 처럼 circuit을 만들고 끊지 않아서 바로 보낼 수 있음.</div><div>-하지만 메세지가 길때는 시간이 오래 걸림.</div><div>-메세지가 크면 저장되어있는 buffer size가 커야함.</div><div>-이 문제를 해결하기 packet switching. packet을 잘라서 pipeline을 함. message switching보다 빨리 끝남.<br>5.Effect of packet size on transmission time</div><div>-무조건 잘게 짜르면 좋은 것인가? No!</div><div>-5개로 쪼갠 것 보다 10개로 쪼갰더니 더 길어짐. 왜냐면 하얀색이 data 부분인데, 그것에 비해서 header가 상당히 영향을 끼친다.<br>6.Routing Algorithms (중요)</div><div>-목적지로 가는 최적 경로 찾음. local forwarding 테이블을 만드는 알고리즘. 라우터들이 스스로 계산함.</div><div>-선 위에 숫자들은 cost임. 돈,비용, 간. 제일 작은게 좋음</div><div>(1) Link state routing</div><div>-각 node가 이웃한 cost 정보를 서로 교환함. 모든 node가 전체 경로의 모습을 앎. 모든 노드가 같은 topology.</div><div>-Dijkstra’s Algorithm : 특정 지점에서 다른 점으로 가는 shortest path 계산. 이를 통해 routing table 만들 수 있음 .</div><div>Or경로에 대한 모든 이동 경로 cost 계산. 노드를 하나씩 연결하면서 최소의 cost가 되는 경로를 만듦.</div><div>(2) Distance vector routing</div><div>-각각 노트는 인접한 노드들의 비용만 앎. 어느 거리를 가는데에 걸리는 시간이 얼마인지에 따라 경로 결정</div><div>-Bellman-Ford Algorith : 인접한 노드들로부터 해당 노드들의 routing table를 받아서 자신과의 cost와 합산해서 비교함.<br>7.Hierarchical routing</div><div>-Routing table 시간 소모 큼. 현실적으로 같은 단위 AS 마다 대표 router 선정해서 routing table만듦. 내부에서도 routing table를 만듦.</div><div><br><strong>#5-2강</strong></div><div>[IP (Internet Protocol)<br>1.IP addresses</div><div>-Host와 net으로 나뉨. 다섯 가지 class로 구분됨.</div><div>-Net Id : 기관에서 공통으로 사용하는 IP</div><div>-Host ID : 각 기관의 기기들이 사용하는 ID</div><div>-class A : Net ID 2^7(128개), Host ID 2^24</div><div>-대부분은 A와 C의 중간인 class B 사용.<br>2.Subnet Addressing</div><div>-Subnet ID와 Host ID로 나누어 사용. 건물마다 subnet ID를 줌</div><div>-대표 라우터는 전체 네트워크를 나타냄</div><div>-141.223.0.0 : 141.223.x.x 형태에 대한 routing table를 갖고 있음.</div><div>-subnet mask : 한 조직에서 몇 개의 subnet으로 나누었는지 알기 위해 사용</div><div>-ex) IPv4 주소 141.223.108.201 / 141.223는 포스텍의 전체 IP. 108 인공지능연구원 3층</div><div>-subnet mask 255.255.255.0 / 108에 해당하는 부분 전체를 다 host id로 사용<br>3.Problems of IP address scheme</div><div>-인터넷 발전으로 IP 주소가 부족함. → 해결책 IPv6.<br>4.CIDR (Classless Inter-Domain Routing)</div><div>-Class를a,b,c로 안나누고 / 사용해서 알려줌.</div><div>-network ID를 가변적으로 활용.<br>5.How to get IP address?</div><div>(1) Manual configuration : 아예 하나를 줌. 수동으로 IP를 할당받음</div><div>(2) DHCP (Dynamic Host Configuration Protocol) : 임시 주소를 할당받아서 정해진 공간에서만 쓰고 반납함. (ex.스마트폰)<br>6.NAT (Network Addres Translation)</div><div>-공적으로 할당받은 공적 IP내에서 router를 통해서 local network 내에서 마음대로 사적인 IP를 할당받아서 사용가능.<br>7.IP (Internet Protocol)</div><div>-다양한 protocol들의 정의</div><div>(1) ICMP (Internet Control Message Protocol) : 망 관리, 네트워크 제어시 사용</div><div>(2) IGMP (Internet Gorup Management Protocol) : multicast를 위한 것</div><div><br><strong>#6장</strong></div><div>[Transport Layer]</div><div>1.Transport layer protocols</div><div>-sender가 보낸 것이 destination에 잘 도착했는지. 에러, 딜레이 등의 여부 파악. 2개의 Protocol.</div><div>1-1) UDP (User Datagram Protocol)</div><div>-간단한 protocol. 잃어버려도, 전송 안되도 큰 문제가 없음. 화질이나 목소리 좀 망가져도 괜찮은 것 (streaming mltimedia app)</div><div>-”no frills” 장식이 없음. “bare bones” 살이 없음. 뼈만 있는 protocol</div><div>-“best effort” 전송 잘 되면 좋지만 어쩔 수 없다. 노력은 해 보겠다.</div><div>-connectionless 미리 컨택하지 않고 바로 보내버림.</div><div>-header size가 8byte 밖에 안됨.</div><div>1-2) TCP (Transmission Control Protocol)</div><div>-아주 정확해야하는, 중요한 정보 전달시 (ex. 은행에서 정보 보낼때)</div><div>-reliable 실수 용납 안됨. error 없어야함. 반드시 정확히 전달. 전송 중에 사라지면 retransmission.</div><div>-가장 중요한 3가지 control 기억<br>2.TCP Flow control</div><div>-Sender는 슈퍼컴퓨터, receiver는 성능이 안좋다고 가정. 보내는 속도를 조절해야함. receiver가 잘 받았다고 보내는 ACK packet에 대한 정보를 보내서, sender가 이걸 보고 속도 조절 가능</div><div>2-1) stop-and-wait flow control</div><div>-정보 보내고 stop. ACK올때까지 기다림. 그다음에 보냄. 1개씩 보내서 너무 오래 기다림. 비효율적임.</div><div>2-2) Sliding window flow control</div><div>-pipelining 동시에 여러개 보냄. window size 오른쪽으로 움직이면서 다음 packet 보냄.<br>3.Error Control : 에러에 대한 대응</div><div>3-1) Stop-and-wait ARQ</div><div>①Error-free operation : 1개 보내고, 1개 받고. stop-and-wait와 비슷</div><div>②Lost data packet : 2번째 receiver가 못받음. sender는 ACK를 영원히 기다림. timeout 사용. 일정 시간 ACK 못받으면 바로 retransmission. timeout 시간은 ACK올때까지 충분해야함.</div><div>③Lost ACK timeout : ACK packet이 사라진 경우. timeout retransmission.</div><div>3-2) Go-Back-N ARQ (주로 쓰임)</div><div>①Error-free-operation : 에러 없는 경우</div><div>②Corrpted data packet : 보내는 도중에 3번 packet 에러남. receiver는 0,1,2 보내다가 3이 안오고 4,5번은 옴. 그러면 쭉 버림.</div><div>③Corrupted ACKs : ACK가 오다가 사라지는 경우. time-out에 따라 보낼수도 아닐수도.<br>4.TCP segment Format</div><div>-UDP가 8byte 였던것에 비하면 20byte. 큼.<br>5.TCP Congestion Control (중요)</div><div>-네트워크 트래픽 몰리면 congestion 생김. 모든 사용자가 함께 해결해야하는 문제라고 여겨서 congestion protocol 만들었음.</div><div>-맨 처음엔 유선 network를 가정해서 만듦. 상당히 안정적이어서 router가 넘치는 경우만을 가정. 트래픽 개수 줄이는 방식.<br>-Congestion control by timeout (TCP Taeho) : timeout 사용</div><div>-Fast Retransmit</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:39:08 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345022663</guid>
      </item>
      <item>
         <title>A2 박성군</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345023063</link>
         <description><![CDATA[<div>Network &amp; IP</div><pre>Packet : 데이터
Router, Forwarding
<br></pre><div>Circuit switching : 옛날 전화방식</div><ul><li>미리 circuit 예약 후 사용, 낭비가 있으나 실시간 전송가능</li></ul><div>Packet switching (Message switching) : 사전 Connection 없이 데이터를 Packet 단위로 쪼개서 전송</div><ul><li>쪼개진 데이터가 서로 다른 길로 갈 수 있음 (병렬)</li><li>Header를 달아 쪼개진 데이터들의 순서를 기록함</li></ul><div>Routing Algorithm</div><div>Network 안 Router 들의 번호를 할당하기 위함</div><ol><li>Link State routing = Dijkstra</li><li>Distance vector routing = Bellman-Ford algorithm</li></ol><div>IP</div><div>IPv4 : 4 byte(32bit)</div><div>Subnet mask : Host ID를 쪼개서 Subnet 생성 (더 많은 Node를 생성하기 위함)</div><div>Transport layer</div><pre>TCP(Transmission Control) : 속도관계 없이 정확히 데이터전달(전송이 제대로 안되면 재 전송)
	* 20byte header
UDP(User Datagram) : 데이터가 부정확하게 전달되도 됨. &gt; 동영상 같은경우 노이즈가 있어도 됨
	* header가 8byte
	* Sender와 Reciver가 사전에 연결되지 않아도 됨
<br></pre><ul><li>TCP&nbsp;<ul><li>Flow control : sender와 reciver의 속도를 맞춰 낭비가 없도록 조절 (reciver가 넘치지 않도록)&nbsp;<ul><li>Acknowledgement(ACK)를 Reciver가 전달함.</li><li>Sliding window : 쪼갠 데이터를 window size로 한번에 보냄.&nbsp;<ul><li>ACK가 돌아오는 속도를 계산하여 Window size 계산, 데이터를 쪼개서 보냄</li></ul></li></ul></li><li>Error Control : Error 대응&nbsp;<ul><li>Time out : ACK를 못받을 때 정지</li><li>Go-Back-N</li></ul></li><li>Congestion control : 트래픽이 몰릴 때 대응법&nbsp;<ul><li>TCP는 유선랜을 가정하고 만들어서 Packet loss는 Router가 넘칠 때로 한정함.&nbsp;<ul><li>Router가 받을 수 있는 packet size를 제한함으로써 해결함(threshold 계산 알고리즘)</li></ul></li></ul></li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:39:22 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345023063</guid>
      </item>
      <item>
         <title>B4 이승엽</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345027250</link>
         <description><![CDATA[<div>챕터5 - network layer &amp; IP<br><br></div><div>&nbsp;<br><br></div><div>Network layer : 샌더가 보낸 데이터를 리시버 측에 안전하게 제대로 도착하게 하는 역할<br><br></div><div>- Forwarding : 받아서 전달하는 행위<br><br></div><div>- Routing : 주소를 확인하고 어디로 보낼지 결정하는 행위<br><br></div><div>Communication Networks<br><br></div><div>- Circuit–switched networks : 3G 이전<br><br></div><div>서킷을 예약하고 연결하고 끊는 행위가 존재<br><br></div><div>예약하고 끊는 행위는 시간은 짧지만 오버헤드가 될 수 있음<br><br></div><div>장점 : 리얼타임으로 오랜시간 통화할 때 유리함 / 딜레이 없음<br><br></div><div>단점 : 채널의 낭비가 존재<br><br></div><div>- Message Switching : 서킷을 만들거나 끊는 행위 없이 바로 메시지를 보내는 방법&nbsp;<br><br></div><div>- Packet-switched Networks : 3G 부터 / Message switching의 일부 / 파이프라이닝<br><br></div><div>데이터를 Packet 단위로 쪼개서 전송하는 방법<br><br></div><div>데이터를 쪼개기 때문에 경로 진행 도중 밀리면 라우터가 다른 경로로 안내하여 리시버에 도착하는 순서가 달라질 수 있음 à 순서 재정비 후 발송하기에 상관없음<br><br></div><div>파이프라이닝을 통하여 데이터를 쪼갠 뒤 발송<br><br></div><div>효율적인 패킷 사이즈 결정은 시간측면에서 아주 중요함<br><br></div><div>데이터 사이즈에 맞는 패킷 사이즈 결정이 요구됨 (Routing Table)<br><br></div><div>Routing Algorithm : Routing Table을 만드는 알고리즘<br><br></div><div>- 각 노드는 이웃한 노드까지의 경로 Cost만 알 수 있음<br><br></div><div>- 각 라우터가 노드를 보고 최적의 경로를 찾는 알고리즘 : 2가지 종류<br><br></div><div>Link State Routing : Dijkstra’s Algorithm<br><br></div><div><strong>모든 라우터(노드)가 모든 링크의 비용을 알고 있기에 다익스트라 알고리즘을 이용하여 최적의 경로를 계산, 한 노드에서 다른 모든 노드까지의 최적 경로를 계산하여 Routing Table에 저장한다.&nbsp;<br></strong><br></div><div>Distance vector Routing : 각 노드는 자신과 연결된 이웃 링크의 비용만을 알고있기에 벨만-포드 알고리즘을 이용하여 최적의 경로를 찾을 수 있음.<br><br></div><div>반복적이고 분산적 / 이웃끼리 반복해서 정보를 교환하여 최적의 경로를 갱신하는 방법&nbsp;<br><br></div><div>Hierarchical Routing<br><br></div><div>각각 대표 라우터들을 설정하고, 대표 라우터들끼리 라우팅 테이블을 주고받아 라우팅 테이블을 만들고, 내부에서 또 따로 라우팅 테이블을 만들자는 알고리즘<br><br></div><div>IP Address<br><br></div><div>- 크게 5가지 클래스로 구분할 수 있음(보통 a,b,c중 하나를 볼 것) / a는 너무 많이 남고, c는 너무 부족해서 대부분 b 클래스를 사용한다<br><br></div><div>- Subnet Addressing<br><br></div><div>Host ID부분을 기관이 구매하고, 세부 네트워크로 쪼개서 사용하는 것<br><br></div><div>- 부족한 IP Address를 어떻게 해결할까<br><br></div><div>CIDR<br><br></div><div>IPv6<br><br></div><div>NAT : 하나의 IP 주소를 가지고 수많은 Host를 연결할 수 있는 방법<br><br></div><div>할당받은 하나의 IP주소로 라우터를 통해 내부 기관이 마음대로 IP를 할당해서 사용하는 방식<br><br></div><div>라우터는NAT translation table을 통해 마킹을 하고, sender를 공적 IP주소(자기 주소)로 변환하여 데이터를 발송<br><br></div><div>돌아오는 답변은 리시버는 샌더가 되고, 샌더는 리시버가 되어 돌아옴<br><br></div><div>NAT translation table을 통해&nbsp; 도착한 리시버 주소를 내부 라우팅에 의하여 처음 보낸 샌더의 IP가 리시버로 바뀌어서 데이터를 전달할 수 있게됨.<br><br></div><div>- IP 패킷의 포맷 : 헤더가 20바이트 나머지 부분이 실제 데이터 부분 존재&nbsp;<br><br></div><div>- 네트워크마다 서로 다른 언어를 사용하고, 사이즈가 모두 다르기 때문에 네트워크를 지나가면 서로 다른 패킷 사이즈로 인하여 쪼개지기도 함.<br><br></div><div>- TTL (Time to live): 샌더라 리시버까지 걸리는 시간을 측정하는 것이었지만, 라우터를 지날 때 마다 숫자가 하나씩 줄어듬 / 몇번의 홉을 거쳐 목적지까지 갔는지를 측정하는 용도로 사용됨&nbsp;<br><br></div><div>6장 – Transport Layer Protocols<br><br></div><div>- UDP : 털털하고 간단함 / 전송이 잘 안돼도 상관없음<br><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ack가 없고, retransmission이 없음<br><br></div><div>à 장식이 없고, 기본적인 골격만을 유지하는 프로토콜 / 전송이 잘되면 좋고 안되면 어쩔수 없지뭐 ~ / 미리 샌더와 리시버가 컨택하지않고(no handshaking) 바로 전송하는 프로토콜<br><br></div><div>à 헤더 사이즈가 8byte밖에 안되는 간단한 프로토콜<br><br></div><div>- TCP : 속도보다 정확한 전달이 중요한 데이터의 전송에 사용됨 / 아주 깐깐한 편<br><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;완전 정확해야 하는 경우에 TCP 사용<br><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;패킷이 전송중에 사라지면 retransmission함<br><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;다양한 control 이라는 말이 나옴<br><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;헤더가 UDP에 비하여 큼 (20바이트)<br><br></div><div>à <strong>Congestion Control</strong> : 샌더가 데이터를 보냈는데, 제때 전송이 안되었을 경우 어떻게 할건지?<br><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 유선이라 패킷이 가다가 없어지는 경우는 없음 따라서 에러가 발생하면 버퍼가 넘치는 것. à 트래픽의 개수를 줄이는 방식을 취함.&nbsp;<br><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Slow start : 타임아웃에 의하여 패킷이 도착하지 않는 것을 해결하는 방법 / 현재 쌓여있는 양의 절반치를 쓰레쉬홀드값으로 설정하고 다시 1로 떨어뜨린뒤 처음부터 재진행&nbsp;<br><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Fast retransmit : 타임아웃 이전에 발생한 경우 dupack이 옴 / 듀팩이 3개 오면 1로 떨어지는게 아니고 쓰레쉬홀드값을 양의 절반으로 바꾸고 시작. à 슬로우 스타트할 필요가 없기 때문<br><br></div><div>à flow control : 샌더와 리시버 사이의 수발신 속도 조절을 위해 사용<br><br></div><div>: 만약 샌더가 슈퍼 컴퓨터이고 리시버는 안좋은 경우, 샌더는 빠른속도로 데이터를 보내지만 리시버는 처리 능력이 안됨. 이경우 샌더의 전송속도 조절이 요구됨 : 플로우 컨트롤 but 비효율적임<br><br></div><div>파이프 라이닝 : 여러 개를 동시에 보냄&nbsp;<br><br></div><div>슬라이딩 윈도우 : 여러 개를 보내고 올때마다 하나씩 더 보내는 방식<br><br></div><div>윈도우 사이즈와 리시버가 애크 보낼 때 넣어보내는 윈도우 사이즈증 미니멈 값으로 윈도우 사이즈를 설정하여 보내게됨.<br><br></div><div>è GO-Back-N : 슬라이딩 윈도우를 사용했을 때 방식<br><br></div><div>1)&nbsp; &nbsp; 윈도우사이즈가 3이라면 3개 보낸 뒤 애크가 오고, 첫 애크가 도착하면 네번째 애크를 보내는 방법을 반복<br><br></div><div>2)&nbsp; &nbsp; 네번째 데이터프레임이(3번) 사라지고 4,5번 데이터프레임이 오면 리시버는 데이터프레임4,5를 버림 / 타임아웃 이후 다시 에러가 발생한 애크로 되돌아가서 재전송하는 방식<br><br></div><div>3)&nbsp; &nbsp; 0,1,2번 중 1,2번 애크가 안오고 3번 애크가 오면, 3번 애크가 왔다는 것은&nbsp; 1,2번 모두 잘 도착했던 것이라고 생각하고 리트랜스미션 하지 않고 계속 데이터 프레임 전송을 시작함.(애크가 중간에 사라진 것으로 간주)à cumulative ack<br><br></div><div>à Error Control : 노이즈나 에러 상황<br><br></div><div>: 샌더는 패킷을 보낼때마다 항상 타임아웃을 둠. 일정 시간안에 애크를 받지 못하면 타임아웃으로 인하여 retransmission / 타임아웃은 애크가 올 시간보다 충분히 커야함<br><br></div><div>데이터 패킷이 사라진 경우가 아니라 애크 패킷이 사라진 경우 à 타임아웃을 통해 리트랜스미션, 리시버는 자신이 보낸 애크가 돌아왔기에 버려버리고 동일한 애크를 다시 재전송<br><br></div><div>à 실수가 용납되지않음<br><br></div><div>&nbsp;<br><br></div><div>&nbsp;<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:41:57 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345027250</guid>
      </item>
      <item>
         <title>B3 전원호</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345034116</link>
         <description><![CDATA[<div><strong>5장</strong> &lt;Network Layer &amp; IP&gt;</div><div>● Network Layer&nbsp;<br>&nbsp;- Router와 입력측에서 데이터를 받아서 출력측으로 보내는 역할 수행. 데이터를 받아서 packet을 받아서 수신자 주소를 보고 데이터를 어디로 interface 보내야하는지 forwarding할 때 routing(어디로 보낼지 주소를 보고 판단)함.&nbsp;</div><div><br><br></div><div>- Network의 분류</div><div>&nbsp;-Communication networks<br>&nbsp;1)Circuit-switched networks : 옛날 전화 방식&nbsp;</div><div>&nbsp;- 회선을 예약해서 예약 완성되면 통화 시작, 통화 종료면 종료 신호를 주어 통화를 끊음.</div><div>&nbsp;- 실시간으로 오랜 통화를 할 때 좋음(예약 때문에), 채널 낭비의 단점 존재&nbsp;<br>&nbsp;2)Packet-switched networks : Message Switching 의 일부&nbsp;<br>&nbsp;- Packet 을 보낼 때 미리 connection 없이 데이터를 쪼개서 바로 보내는 것.</div><div>&nbsp;- packet을 쪼개서(pipe line) 훨씬 시간 단축 가능</div><div>● Routing Algorithms&nbsp;<br>-routing table 만드는 알고리즘, router들이 스스로 계산&nbsp;</div><div><br><br></div><div>&nbsp;1) Link state routing&nbsp;<br>&nbsp;- Dijkstra’s Algorithm 을 통해 계산. 모든 노드와 cost 정보를 주고 받음. 서로서로 정보를 다 공유</div><div>&nbsp;2) Distance vector routing&nbsp;</div><div>- Bellman-Ford Algorithm 은 자기와 이웃한 노드만 데이터를 주고 받음. 이웃한 노드의 routing table을 받아 cost 구함.<br>&nbsp;<br>&nbsp;- Hierarchical routing : 전체 테이블을 만드는 것이 아닌 대표router . region으로 가면 region내부의 routing에 의해서 전달 되도록 하는 것.</div><div><br><br></div><div>●IP address</div><div>&nbsp;:4바이트 32bit를 전세계적으로 사용, ip주소로 단말 인지를 알 수 있다.</div><div>&nbsp;-host ID 와 net ID<br>&nbsp;-class A(0, Net ID{7}, Host ID{24})<br>&nbsp;-class B(1,0, Net ID{14}, Host ID{16}) - 가장 많이 사용<br>&nbsp;-class C(1,1,0,Net ID{21}, Host ID{8})</div><div>&nbsp;-class D(1,1,1,0,Multicast Address)</div><div>&nbsp;-class E(1,1,1,1,0, Reserved for future use)</div><div><br><br></div><div>- Subnet Addressing : Host ID를 세부 네트워크로 쪼개서 사용하는 것.<br>&nbsp;<br>&nbsp;- IP address 고갈 문제&nbsp;<br>&nbsp;- IPv6 새로운 버전 만듬 → short term solution → CIDR 32비트 뒤에 추가 비트 할당.<br>&nbsp;Network part + host part<br>&nbsp;- IP address 할당 방법&nbsp;<br>&nbsp;- 하나를 할당하여 Manual configuration</div><div>&nbsp;- 임시 IP address를 할당받아 거기서만 쓰고 반납하는 방식</div><div><br><br></div><div>&nbsp;-NAT<br>&nbsp;-공적 할당받은 인정된 IP를 Router를 통해 내부 기관에서 마음대로 IP를 사적으로 할당받아 사용&nbsp;</div><div><br><br></div><div><br><br></div><div>● IP(Internet Protocol)</div><div>&nbsp;Internet protocol layering = Application + Transport + Network + Data Link</div><div><br><br></div><div>● Transport layer protocol&nbsp;<br>&nbsp;:Send와 Receiver 사이에 데이터 전송이 이루어짐. 앞에 있는 Network layer에 IP가 주소를 가지고 packet 단위로 보내서 transport destination에 도착 시킨다.</div><div><br><br></div><div>- UDP</div><div>: 조금 잃어버려도 상관없고 전송이 제대로 안되어도 큰 문제가 없는 경우 사용<br>&nbsp;- No frills, bare bones<br>&nbsp;- 전송이 잘되어도 좋지만 안되어도 상관 없다.<br>&nbsp;<br>&nbsp;- TCP<br>&nbsp;: 속도보다 정확해야 하는 경우 사용, 실수 용납 x<br>&nbsp;- Congestion control<br>&nbsp;-traffic 이 다량 들어오면 buffer가 넘쳐 congestion 발생. → 이를 해결 by time out<br>&nbsp;- End-to-end Flow Control<br>&nbsp;- Error Control</div><div>&nbsp;- ARQ<br>&nbsp;1) Error-free operation&nbsp;<br>&nbsp;2) Lost data packet<br>&nbsp;- Classification<br>1) Stop-and-Wait ARQ<br>&nbsp;2) Contiuous ARQ<br>&nbsp;(1) Go-Back-N<br><br></div><div><br><br></div><div>- TCP Flow control : Sender가 Receiver에게 보내는 속도를 control 하는 것<br>&nbsp;- Stop-and-wait flow control : 비효율<br>&nbsp;- Sliding window flow control : 여러 개를 보내고 올 때 마다 하나씩 더 보내는 방식<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:46:06 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345034116</guid>
      </item>
      <item>
         <title>C4 전현지</title>
         <author>suswlwjs123</author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345045347</link>
         <description><![CDATA[<div>chap 5</div><div>&nbsp; &nbsp;</div><div>○ Network Layer</div><div>&nbsp; &nbsp;</div><div>Network Layer</div><div>Sender가 보낸 데이터를 Receiver에 안전하게 전달하는 역할</div><div>라우터가 Sender에게 데이터를 받아 수신자 IP주소를 보고 어느 방향으로 보낼지 판단</div><div>&nbsp; &nbsp;</div><div>Routing Algorithms</div><div>Link State routing</div><div>Dijkstra’s Algorithm</div><div>-&gt; 각 노드 들이 cost를 공휴하는 broad casting 방법</div><div>Distance vector routing</div><div>Bellman-Ford Algorithm</div><div>-&gt; 이웃한 Node 끼리만 정보 공유</div><div>-&gt; 이웃한 Node로부터 routing table을 받아 최단 경로 찾기</div><div>&nbsp; &nbsp;</div><div>Hierarchical routing</div><div>-하지만 라우터 종류 多 &amp; node들이 많아지면 위의 알고리즘 사용할 경우 많은 시간 소요</div><div>-&gt; 대표 라우터를 만들고 대표 라우터들 끼리 정보를 전달하자 -&gt; autonomous systems(AS)</div><div>&nbsp; &nbsp;</div><div>Communication network</div><div>Circuit-switched network</div><div>예전 전화 방식(회선 예약)</div><div>예약 -&gt; 통화 -&gt; 끊는 단계</div><div>overhead 문제&nbsp;</div><div>&nbsp; &nbsp;</div><div>2. Packet- switched network</div><div>* Message Switching 방법 중 하나</div><div># Message Switching</div><div>- 회선을 만드는 행위 x -&gt; 바로 메시지 전달</div><div>- 메시지가 길어지면 전달 시간 길어짐 &amp; 라우터의 버퍼가 커져야함.</div><div>-&gt; 그러니깐 메시지를 쪼개서 보내자 = packe – switched network</div><div>-&gt; 시간 절약 but 너무 잘게 쪼개면 x (헤더와 데이터 size가 비슷해져 overhead 발생)&nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div>○ IP</div><div>IP</div><div>Internet Protocol</div><div>IP Address를 통해 device 구분 가능</div><div>IP Address</div><div>- class(A~E) 5개의 종류가 있음, but host id에 16bit 할당된 classB 사용</div><div>Host ID를 체계적 관리 &amp; 효율적 사용을 위해 Subnet ID와 HostID로 쪼개 사용</div><div>인터넷 사용자 증가 -&gt; 32bit인 IP주소가 부족해 짐.</div><div>-&gt; 해결 방법 : IPv6(주소를 바꾸자), CIDR(xxx.xx.xx.x/OO를 사용해 32-00bit만큼 hostpart를 할당해주자), DHCP(임시 IP사용 후 반납 #NAT&lt;DHCP사용 기반&gt;-&gt; 라우터가 연결 NODE에 사적 IP 할당)</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div>Chap 6</div><div>○ Transport Layer</div><div>&nbsp; &nbsp;</div><div>Transport Layer</div><div>Sender와 Receiver 사이의 데이터 전송이 잘 이루어졌는지, 에러 or traffic delay 발생 여부 확인</div><div>&nbsp; &nbsp;</div><div>Internet Transport Protocols</div><div>UDP</div><div>loss가 좀 있어도 괜찮은 경우 사용 (ex. 축구 경기)</div><div>2. TCP</div><div>중요도 : 속도 &lt;&lt; 정확도</div><div>reliable delivery로 실수 용납 x (ex. 은행 송금)</div><div>&nbsp; &nbsp;</div><div>TCP가 하는일</div><div>Flow control</div><div>S-R 사이의 송수신 속도 조절(Sender의 전송 속도가 R이 처리 못할 정도로 빠른 경우 loss 발생)</div><div>ACK를 보낼 때, receiver가 감당 가능한 버퍼 정보를 함께 보냄 -&gt; S의 전송 속도 조절</div><div>* ACK 패킷 전송 방식&nbsp;</div><div>1. stop-and-wait flow control : 하나씩 보내기 -&gt; 기다리는 시간이 긺 -&gt; 효율 낮</div><div>2. Sliding window flow control: 여러개 보내고 ACK가 올때마다 하나씩 더 보내기 -&gt; 시간 절약 -&gt; 효율 높음</div><div>&nbsp; &nbsp;</div><div>2. Error Control</div><div>패킷 전송 중 error , noise 발생 시 해결 방법</div><div>&nbsp; &nbsp;</div><div>3. Congestion Control</div><div>트래픽이 몰려 라우터 버퍼가 넘치면 패킷이 loss됨</div><div>congestion 해결 by (1. timeout / 2. 3duplicate Acks)</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:52:43 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345045347</guid>
      </item>
      <item>
         <title>A2 전하영</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345054995</link>
         <description><![CDATA[<div><strong>5장<br>Network Layer &amp; IP</strong><br><br><strong>network layer</strong><br>- 네트워크 간에 데이터 패킷을 주고받는 계층<br><br>1) forwarding <br>- 포워딩 테이블에 적힌 목적지 주소에 대응된 출력 포트로 패킷을 이동시키는 작업<br>2) routing<br>- 주소를 보고 데이터를 어디로 보내야할 지 판단하는 행위<br><br><strong>communication network</strong><br>- circuit-switched networks (1G, 2G)<br>- packet-switched networks (3G~)<br><br></div><ul><li>circuit switching</li></ul><div>- 사용되는 회선 전체를 독점 -&gt; 다른 사람이 끼어들 수 없음<br>- 장점 : circuit이 예약되어 있으므로 오랜시간 통화할 때 좋음<br>- 단점 : 점유하고 있는 circuit에서 정보를 보내지 않는 시간동안은 회선이 낭비됨<br>ex) 전화망<br><br></div><ul><li>packet switching</li></ul><div>- message의 크기가 크면 라우터의 buffer가 커야함<br>-&gt;송신할 데이터를 packet이라는 단위로 쪼개서 전송<br>- 어느 한쪽의 라우터에 병목현상이 일어나면 다른 경로로 보낼 수 있음<br>-&gt; receive쪽에 도착하는 순서가 달라질 수 있다<br>-&gt; network layer에서 순서를 정리해서 다음 layer로 전송하기 때문에 문제 x<br><br>* pipelining을 하더라도 header와 data의 크기가 비슷하면 overhead가 된다<br>-&gt; 잘게 자른다고 다 좋은것은 아님<br><br><strong>Routing Algorithms</strong><br>-router 각자가 스스로 계산해서 routing table을 만드는 알고리즘<br><br>1) link state routing <br>- 네트워크 정보가 글로벌 할 경우<br>- 모든 노드가 전체 네트워크 topology와 cost를 안다.<br>-Dijkstra's Algorithms : 모든 정점까지의 최단경로 구하기<br><br>2) distance vector routing <br>- 네트워크 정보가 지엽적인 경우<br>- 자기의 이웃하고만 정보를 주고 받음<br>- Bellman-Ford Algorithm <br><br><strong>Hierarchical routing</strong><br>- 네트워크가 커질수록 routing table의 크기가 너무 커지는 문제점을 해결하기 위해 만들어짐<br>- AS 단위로 routing table을 만듦<br>- 각 AS는 gateway router로 서로 연결될 수 있음<br>- 내부의 라우팅 정보는 Intra-AS routing protocol 이용해서 작성<br>- 각자의 AS 내의 라우터들의 정보를 Inter-AS routing protocol을 이용해서 공유<br><br><strong>IP addresses</strong><br>- 호스트 또는 라우터의 각 인터페이스에 할당된 32비트 ip주소<br>- 주소는 netID, hotID로 나눠짐<br><br>*Dotted Decimal Notation<br>- 32bit를 8bit씩 쪼개서 10진수로 나타내는 것<br><br><strong>Subnet Addressing</strong><br>- HostID부분 16bit를 효율적으로 사용하기위해 subnetID 와 hostID 부분으로 나눔<br><br><strong>CIDR</strong><br>- 부족해지는 IPv4주소를 보다 효율적으로 사용하게 해준다<br><br><strong>NAT(Network Address Translation)</strong><br>- 제한된 수의 IPv4 주소 문제를 해결하기 위해 개발<br>- NAT라우터를 사용해서 다수의 사설 IP주소를 하나의 공인 IP주소로 변환하는 기술<br><br><strong>6장<br>Transport Layer</strong><br><br><strong>Internet transport protocols</strong><br>1) UDP (User Datagram Protocol)&nbsp;<br>- 간단한 프로토콜<br>- 최선을 다하지만 손실을 보장할 수 없음<br>- sender와 receiver 사이에 connection이 없음<br><br>2) TCP (Transmission Control Protocol)<br>- 두 개의 호스트를 연결해서 데이터를 교환<br>- congestion control, End-to-end Flow Control, Error Control<br><br></div><ul><li>TCP Flow Control</li></ul><div>-sender가 보내는 속도를 조절하게 하는 것<br>-receive가 ACK packet에 사용가능한 memory space를 넣어서 보내면 sender가 속도조절 할 수 잇음<br>-stop-and-wait flow control/ sliding window flow control<br><br></div><ul><li>Error Control</li></ul><div>-ARQ ( receiver가 packet을 받았을 때&nbsp; ACK를 보내는 것</div><div>-stop-and-wait ARQ</div><div><em>error-free operation/lost data packet/ lost ACK timeout</em><br>-Go-Back-N ARQ<br><em>error-free operation/ corrupted data packet/ corrupted ACKs</em><br><br></div><ul><li>TCP Congestion Control</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 12:57:59 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345054995</guid>
      </item>
      <item>
         <title>C4 이현희</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345058913</link>
         <description><![CDATA[<div>Chap 5. Network Layer &amp; IP</div><ol><li>Network Layer<ul><li>Sender가 receiver에게 데이터를 안전하게 전송하는데 중요한 역할</li><li>IP가 주로 하는 일</li><li>Sender -&gt; routers -&gt; receiver</li><li>Router</li></ul></li><li>Router<ul><li>IP address를 고려해 보내야 할 곳으로 보냄</li><li>기능<ul><li>routing: 어느 곳으로 보내야 할지 판단하는 행위</li><li>forwarding: 보내는 행위</li></ul></li><li>Routing table</li></ul></li><li>Taxonomy of Network<ol><li>Circuit-switched<ul><li>유선전화망</li><li>3 단계<ul><li>Circuit establishment</li><li>Data transfer</li><li>Circuit termination</li></ul></li><li>장단점<ul><li>real time 전송이 좋고 지연이 덜하지만 채널이 낭비될 수 있음.</li></ul></li></ul></li><li>Packet-switched<ul><li>컴퓨터통신망</li><li>특징<ul><li>message switching의 일부</li><li>회선 예약없이 바로 보냄</li><li>메시지를 packet으로 잘라서 보냄</li><li>패킷마다 다른 router를 이용해서 보내질 수 있기 때문에 도착하는 순서가 다른데 receiver가 순서를 재정비하므로 상관없음</li></ul></li><li>Pipelining<ul><li>버퍼가 넘치는 것을 방지하기 위함</li></ul></li><li>패킷을 많이 쪼개는 것이 좋은 것만은 아님</li></ul></li></ol></li><li>Routing Algorithm<ol><li>Routing table을 만드는데 사용되는 알고리즘</li><li>Router 각자 스스로가 routing table을 만듦</li><li>Link States routing<ul><li>각각의 router가 연결되어 있는 정보를 전체적으로 공유</li><li>각각의 router가 독립적으로 자신과 주변의 router 사이의 가장 짧은 경로를 탐색함</li><li>경로 탐색은 Dijkstra's algorithm</li></ul></li><li>Distance Vector routing<ul><li>각각의 router는 인접한 router의 정보만을 가지고 있음</li><li>각자의 최단 경로를 알고 있음</li><li>인접한 router끼리 서로 정보를 교환</li><li>이것이 반복되어 전체 최단거리를 알아냄</li><li>Bellman-Ford algorithm</li></ul></li></ol></li><li>Hierarchical Routing<ol><li>Antonomous system 이용</li><li>대표 router를 설정<ul><li>대표끼리의 routing table</li><li>내부만의 routing table</li></ul></li></ol></li><li>IP<ol><li>Internet과 연결된 호스트, 또는 router는 고유한 32bit의 IP address가짐</li><li>(net ID, host ID)</li><li>class<ul><li>A<ul><li>Net ID : 7</li><li>Host ID : 24</li></ul></li><li>B<ul><li>Net ID : 14</li><li>Host ID : 16</li></ul></li><li>C<ul><li>Net ID: 21</li><li>Host ID: 8</li></ul></li></ul></li><li>Subnet Addressing<ul><li>IP address를 효율적으로 사용하기 위함</li><li>Subnet mask</li></ul></li></ol></li><li>Problems of IP address scheme<ol><li>Long term solution: IPv6</li><li>Short term solution: CIDR<ul><li>중간이 없는 기존 방식 해결</li><li>슬래시 숫자를 붙여서 네트워크 부분이 몇이다 알려주고 나머지 5개의 비트가 호스트 파트라는 것을 알려주며 IP address를 할당함</li></ul></li></ol></li><li>IP 할당방법<ol><li>Manual configuration</li><li>DHCP: temporary IP address를 할당받고, 사용이 끝나면 반납함</li></ol></li><li>NAT<ul><li>IP address 절약 방법 중 하나</li><li>IP address 하나를 가지고 엄청나게 많은 호스트를 연결할 수 있는 방식</li><li>내부기관에서 사설 IP라고 해서 기관 마음대로 IP를 할당해서 쓰는 방식</li><li>Router 이전에 할당 받은 ip는 공적 ip (공적으로 할당받은 인정된 ip)</li></ul></li></ol><div><br>Chap 6. Transport Layer</div><ol><li>Transport Layer protocols<ul><li>센더와 리시버 사이에 데이터 전송(패킷단위)이 이루어질 때, destination에 잘 도착했는지 중간에 에러가 났는지, traffic이 몰려서 delay가 있는지에 대해 관여</li></ul></li><li>UDP<ul><li>Ack가 없음</li><li>재전송 없음</li><li>데이터를 조금 잃어도 좋으니 지연을 지양함</li><li>실시간 중계방송</li></ul></li><li>TCP<ul><li>아주 정확해야함</li><li>안정적임</li><li>은행 간 송금</li></ul></li><li>Controls of TCP<ol><li>Congestion control<ul><li>By time-out</li><li>By 3 duplicate Acks</li></ul></li><li>End-to-end Flow control<ul><li>sender가 receiver의 성능을 고려해 보내는 속도를 조절함</li><li>Stop-and-wait flow control</li><li>Sliding-window flow control</li></ul></li><li>Error control<ul><li>에러 유무를 확인하고 에러에 어떻게 대응할 것인</li><li>Go-Back-N</li></ul></li></ol></li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:00:19 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345058913</guid>
      </item>
      <item>
         <title>A3 이다영</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345062376</link>
         <description><![CDATA[<div>&gt;&gt;&gt;Ch.5</div><div>&nbsp; &nbsp;</div><div><strong>&lt;Network Layer&gt;</strong></div><div>&nbsp; &nbsp;</div><div><strong>Network Layer Services</strong></div><div>-sender가 보내는 것을 안전하게 receiver에게 전달하는 역할(IP가 주로 하는 일이기도 함)</div><div>&nbsp; &nbsp;</div><div><strong>Network Layer Functions</strong></div><div>-fowarding : 입력 층에 데이터를 받아 출력 층에 전달</div><div>-routing : 데이터 fowarding 시 어느 곳으로 보낼지 판단하는 행위</div><div>&nbsp; &nbsp;</div><div><strong>Taxonomy of Network</strong></div><div>-Circuit-switched network</div><div>=옛날 전화방식(1G, 2G에 사용), circuit(회선)을 미리 연결한 후 이용 후 circuit 끊음</div><div>=delay 없음, 채널의 낭비 존재</div><div>-Packet-switched network</div><div>=Message switching의 일부</div><div>=미리 연결하지 않고 패킷단위로 쪼개서 보내는 것, 한 쪽이 밀리면 다른 경로를 찾아줌</div><div>=데이터가 밀려서 순서가 바뀌어 들어와도 순서를 재정비하기 때문에 문제가 없음</div><div>=패킷으로 보내면 시간 절약가능</div><div>&nbsp; &nbsp;</div><div><strong>Routing Algorithms</strong></div><div>-routing table 만드는 알고리즘, 스스로 계산하는 것</div><div>-Link State : Dijkstra’s algorithm을 이용</div><div>=각각의 노드가 서로의 노드와 전체 정보 주고받아 topology와 cost 알고 있고 이를 기반으로 최적의 알고리즘을 찾음</div><div>=시작점(A)에서 갈 수 있는 노드의 cost 비교, 직접경로 없으면 무한대 → 제일 작은 노드 찾아서 해당 지점 작성(D) → AD를 통해서 해당지점으로 가는 cost가 A를 통해서 가는 cost 보다 작으면 작성 → A, AD 중 cost 값 낮은 것 찾아서 해당지점 작성(E) → 모든 지점 갈 때 까지 반복</div><div>-Distance vector : Bellman-Ford algorithm을 이용</div><div>=자기와 이웃한 노드의 cost는 알고 있고 그들끼리만 데이터 주고받음(JA : JI → IA 의 cost 계산)</div><div>&nbsp; &nbsp;</div><div><strong>&lt;Internet Protocol&gt;</strong></div><div>&nbsp; &nbsp;</div><div><strong>IP address</strong></div><div>-어떤 단말인지 알 수 있음</div><div>-5개 클래스로 구분, 보통 A, B, C 보게 되는 경우가 만음</div><div>-class A : 0 Net ID(7) Host ID(24)</div><div>-class B : 1 0 Net ID(14) Host ID(16)</div><div>-class C : 1 1 0 Net ID(21) Host(8)</div><div>-Net ID(n)는 살 수 있는 기관 2^n, Host ID(h)는 할당할 수 있는 컴퓨터 수 2^h</div><div>-class B 가장 많이 구매</div><div>&nbsp; &nbsp;</div><div><strong>Subnet Addressing</strong></div><div>-Host ID를 세분화 하여 쪼개서 사용</div><div>-subnet mask+Host ID</div><div>&nbsp; &nbsp;</div><div><strong>IP 주소 문제 해결</strong></div><div>-IPv6 : 기본적인 해결 방법, 한 번에 모두 바꾸기 어려움</div><div>-CIDR : short term solution, IP address 할당, 네트워크 부분 알려주며 “/” 사용, 호스트 파트 구분, 최근에 많이 사용</div><div>&nbsp; &nbsp;</div><div><strong>IP 주소 할당</strong></div><div>-Manual configuration</div><div>-DHCP : 정규 할당이 아니라 임시로 받아 쓰고 반납하는 방식</div><div>=NAT : DHCP 중 가장 많이 사용하는 방식</div><div>=IP 하나로 많은 호스트 연결, 공적 할당(인증된) IP → 라우터 → (사적할당, 마음대로, 내부에서만 사용)</div><div>=사적 할당된 컴퓨터가 데이터 보내고 받을 주소를 라우터로 하여 받고 라우터가 다시 할당</div><div>&nbsp; &nbsp;</div><div><strong>IP layering</strong></div><div>-Network Layer</div><div>=IP : 실제 통신</div><div>=ICMP : 망관리, 네트워크 제어, 전송에 사용되지 않음, 데이터는 IP로</div><div>=IGMP : 멀티캐스팅 위한 프로토콜</div><div>&nbsp; &nbsp;</div><div><strong>IP datagram header format</strong></div><div>-header 20 byte + data</div><div>-TTL : 현재는 몇 번의 hop을 거쳐 목적지까지 갔는가로 사용</div><div>&gt;&gt;&gt;Ch.6</div><div>&nbsp; &nbsp;</div><div>&lt;Transport Layer&gt;</div><div>&nbsp; &nbsp;</div><div><strong>Transport Layer protocols</strong></div><div>-logicla communication 제공</div><div>-UDP : 간단한 프로토콜, 별로 중요하지 않은 전송</div><div>=기본적인 프로토콜, sender와 receiver가 contact 하지 않고 보냄</div><div>=header 8byte로 간단</div><div>-TCP : 중요한 전송, 전송 중 사라지면 다시 전송, 다양한 control, 실수 용납되지 않음</div><div>=Congestion control&nbsp;</div><div>=End to end flow control : sender, receiver 의 주고받는 속도 조절 위해</div><div>=Error Control : error 발생 시의 문제</div><div>&nbsp; &nbsp;</div><div><strong>Flow Control&nbsp;</strong></div><div>-sender가 receiver가 넘치지 않게 만들어주는 방식</div><div>-sender가 보내는 속도 조절 필요 할 때 사용</div><div>-ack에 가능한 메모리 공간에 대한 내용 포함하여 보내 sender가 속도조절 가능</div><div>-Stop and Wait flow Control : 하나씩 보낸 다음 ack 기다림, 비효율적</div><div>-Pipelining increases utilization : 동시에 여러 개 보낸 후 하나의 ack가 오면 다시 하나보내기 반복, sliding window</div><div>&nbsp; &nbsp;</div><div><strong>Error Control</strong></div><div>-Stop and Wait ARQ : ack가 오지 않으면 계속 기다려야 해서 time out 도입</div><div>-Go Back N ARQ : sliding window 방식, 오지 않은 데이터 패킷부터 나머지 다 보냄, ack 패킷 오지 않아도 괜찮음(그 전까지 잘 받았고 ack가 사라졌구나 라고 인식)</div><div>&nbsp; &nbsp;</div><div><strong>Congestion Control</strong></div><div>-처음에는 유선을 가정하고 생성</div><div>-갑자기 패킷이 많이 들어오면 버퍼가 넘치게 되고 이때 패킷이 사라짐, 이를 대비하는 control</div><div>-slow start : time out에 의해 패킷이 오지 않는 경우를 detection</div><div>-fast retransmit: 동일한 ack을 세 번 이상 받으면 바로 재전송</div><div>&nbsp; &nbsp;</div><div><strong>TCP segment Format</strong></div><div>-header 20byte</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:02:18 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345062376</guid>
      </item>
      <item>
         <title>C1 정승원</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345080478</link>
         <description><![CDATA[<div>Network Layer Services<br><br>컴퓨터 네트워크에서는 데이터를 전송할 때마다 헤더에 주소를 써서 보냄 = IP address 전세계 공통의 주소 체계<br>라우터? IP 어드레스를 보고 packet을 받아서 안전하게 목적지까지 보내는 역할<br><br>Network Layer<br>데이터를 받아서 포워딩(라우터가 입력측에서 받아서 출력측으로 보내는 역할)<br>수신자측 주소를 보고 데이터를 어디로 보내야 하는지 받아서 포워딩을 하는데 포워딩을 할 때 라우팅이라는 것을 함<br><br>Routing : 어느 곳으로 보내야할지를 주소를 보고 판단하는 행위<br><br>packet의 헤더에 수신측 주소를 달고 오면 router는 알고리즘에 따라 (인터페이스로)보내는 기계적인 역할을 함.<br>주소를 보고 어디로 보내게 할지 결정하게 하는 것이 routing.<br><br>받아서 주소를 보고 전달하는 행위를 forwarding이라고 함.<br><br>Taxonomy of Networks(Network core)<br><br>Communication networks<br>1. Circuit-switched networks : 1세대, 유선전화망<br>- 옛날 전화방식<br>- Circuit을 여는 행위, 즉 미리 예약하는 행위, 예약이 끝났다고 알려주면 통화를 하게 됨. 통화가 끝나면 끊났다고 끊는 행위가 필요함<br>- 세가지 행위로 구분됨 (Circuit을 만들고, 데이터를 전하고, circuit을 끊음.)<br>	시간이 작지만 오버헤드 될 수 있음.<br>- 장점 : 한번 circuit이 예약되기 때문에 real time으로 오랜시간 통화할 때 좋음, 딜레이 없음<br>- 단점 : 이런 행위로 인해서 채널에 낭비가 존재함.<br><br>＊ Message Switching (3세대~ 방식인 Packet-switched networks가 포함됨)<br><br>- Packet Switching<br>	하나의 데이터를 여러개의 packet으로 쪼개서 감<br>	경로에서 한쪽이 밀리게 되면 router가 다른 경로를 찾아감.<br>- 메세지가 길어지면 경로당 시간이 오래걸림, 메세지를 저장하려면 버퍼의 크기가 커야 함. &gt;&gt; 문제를 해결하기 위해 	Packet을 짤라서 파이프라인이라는 것을 함. &gt;&gt; 시간이 단축됨.<br>- 많이 쪼개면 헤더가 데이터 부분에 상당히 영향을 끼침(오버헤드가 됨) &gt;&gt; 무조껀 잘게 짜른다고 좋은 것이 아니다.<br><br><br>테이블은 어떻게 만들어진 것일까?<br>- 라우터가 라우팅 테이블을 잘 만들어놓으면 헤드에 들어가있는 수를 보고 수신지까지 잘 전달해줌.<br>&gt;&gt; 라우팅 테이블이 중요함<br><br>- Routing Algorithms<br>	Central road가 경로를 정하는 것이 아니라 각 packet이 스스로 경로를 정하는 알고리즘을 채택함<br>	각각의 노드는 이웃까지 가는 경로만 알고 있음.<br><br>- Two routing algorithms<br>	1. Link State routing<br>		각각의 노드가 자기네들끼리 연결되어 있는 코스트를 알고 있음.(서로서로 교환)<br>		모든 노드가 서로 이웃한 코스트 및 노드 등 몇개로 구성되어 있는지 파악 가능 &gt;&gt; 모두가 똑같은 			알고리즘을 파악<br>	<br>	2. Distance vector routing(=Dijkstra's Algorithm?)<br>		- 최적의 routing path를 찾는 과정<br><br>＊ Hierarchical routing<br>&nbsp;- 대표 라우터를 선정하고 대표 라우터들끼리 돌려서 라우팅 테이블을 주고받아서 알고리즘을 만들고<br>	내부에서는 내부의 라우팅 테이블을 만들자는 형식<br>&nbsp;- Region으로 가는 Path를 하고 Region으로 가게 되면 내부의 routing에 의해서 전달될 수 있도록 만드는 과정<br>		<br><br>5장 IP (Internet Protocol)<br><br>＊ IP addresses<br>- 32bit의 IP address를 전 세계적으로 쓰고 있음 &gt;&gt; IP address를 가지고 단말인지를 알 수 있음<br>- Class A, B, C, D, E로 구분<br><br>- Class A : Net ID(2^7개만큼)는 어떤 조직에서 통으로 구매. &gt;용&gt; 나머지 24bit(2^24)를 가지고 컴퓨터에 할당하는 방식<br>- Class C : Net ID(2^21개), Host ID(2^8)<br><br>- Class B는 Net ID(2^14), Host ID(2^16)으로 적절<br><br>＊ Subnet Addressing<br>- Host ID를 어떻게 효율적으로 사용할 것인가 &gt;&gt; Host ID 부분을 기관에서 사서 세부 네트워크로 쪼개서 사용하는 방식이 Subnet Addressing<br><br>＊ NAT(Network address Translation) : 공적 IP + 사적 IP<br>- IP주소 부족의 해결 방법 중 하나, 공적으로 할당받은 IP를 가지고 내부기관에서 할당해 Host를 사용하는 방식<br><br>＊ Time to Live<br>- 몇 번의 router를 거쳐 목적지까지 가는지 측정하는 용도로 사용<br><br>6장<br><br>＊ Transport layer protocols<br>- 트렌스포트 레이어에서 잘 도착했는지 여부를 확인<br>- TCP와 UDP가 있음<br><br>* UDP (User Datagram Protocol)<br>- 중요하지 않은 데이터 전송시 사용, 데이터가 조금 손실돼도 상관없을 경우<br><br><br>＊ TCP (Transmission Control Protocol)<br>- 중요한 데이터 전송시 사용, 속도보다는 정확해야 함.<br>- 까다로움, 에러가 있으면 안됨.<br>- Congestion control<br>- End-to-end Flow Control<br>- Error Control<br><br>- TCP Flow control<br>	센더가 리시버를 넘치지 않게 만들어주는 방식<br>	<br>- Stop-and-wait flow control<br>	하나 보내고 ACK이 올때까지 기다림. 효율적이지 않음. (너무 오래기다림)<br>	<br><br>- Sliding-window flow control<br>	여러개를 보내고 올때마다 하나를 더 보내는 방식<br><br>* Error control<br>- 에러가 일어나는지 안일어나는지를 보고 대응하는 방법<br>- Error-free operation : 하나를 보내고 ACK을 받고 (이렇게 하는 방식?) 이렇게?<br>- Lost data packet : packet을 하나 보내고 ACK를 받고 두번째꺼 보내고 리시버가 받지 못하면 센더는 이걸 보냈기 때문에 ACK가 올때까지 기다림&gt;&gt; 언제까지? 영원히 &gt;&gt; so, timeout이라는 것을 둠 &gt;&gt; 일정시간 안에 ACK를 받지 못하면 바로 retransmission<br>	if) ACK packet이 사라지게 될 경우, 일정시간 기다리고 retansmission.<br>가<br>Go-Back_N ARQ<br>- Error-free operation<br>- Corrupted data packet : 에러가 나면 그 번호로 돌아가서 그때부터 나머지 packet을 다 보내는 방식<br><br>TCP Congestion Control<br>- traffic이 몰려서 router가 넘치면 packet을 잃어버림<br>- slow start : 현재값의 반을 쓰레쉬홀드값으로 두고 2배수로 증가하다가 쓰레쉬홀드에 도달하면 선형적으로 증가 &gt;&gt; 에러나면 다시 1로 가서 다시 증가<br>- fast retransmit : timeout되기 전에 3dupack(못받은 패킷에 대한 ack를 계속 보냄)이 나오면 1로 떨어지는 것이 아니라 현재값의 절반으로 줄어 다시 선형적으로 증가&nbsp; &nbsp; &nbsp;&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:12:37 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345080478</guid>
      </item>
      <item>
         <title>B4 정승재</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345087396</link>
         <description><![CDATA[<div>Ch 5-1, 5-2, 6</div><div><br><br></div><div>[Network Layer &amp; IP]</div><div>&nbsp;네트워크 레이어에서는 라우터에서 라우터로 데이터 패킷을 이동시키거나(forwarding), 목적지까지의 경로를 결정한다(routing).</div><div>네트워크는 서킷스위칭방식(주로 유선)과 패킷스위칭방식(최근의 컴퓨터통신망)이 있다.</div><div>서킷스위칭은 사전에 서킷을 예약한 후, 데이터 전송을 하고, 서킷을 종료하는 과정으로 구성된다.</div><div>패킷스위칭은 서킷을 예약하지 않고, 데이터를 패킷에 나누어 전송하면서 전체 전송 시간을 단축할 수 있다.&nbsp;</div><div>*단, 패킷이 일정 수 이상 증가하면 ‘overheader’가 발생하여 결과적으로 전체 전송시간이 길어질 수 있다.&nbsp;</div><div>라우팅알고리즘(최적경로찾기)</div><div>-dijkstra’s algorithm: 전체 노드와 정보공유</div><div>-bellman-ford algorithm: 자신이 이웃한 노드만 정보공유</div><div><br><br></div><div>[IP]</div><div>IP address:전체 32bit로, net ID + host ID로 구성됨</div><div>*Dotted Decimal Notation: 32bit를 8bit씩 쪼개서 10진수의 4묶음으로 표현하는 방식</div><div>*subnet addressing – host ID를 카테고리를 표현하는 subnet과 연결가능한 기기 개수인 hostID로 구성하는 방식.</div><div>*IETF 솔루션: 기존의 단말기를 IPv6로 바꾸는 long-term solution과 IP주소 뒤에 ‘/’와 숫자를 통해 주소를 가변적으로 표현하는 방식이 있다.&nbsp;</div><div><br><br></div><div>[Transport Layer]&nbsp;<br>&nbsp;transport protocol에는 TCP방식과 UDP방식이 있다.&nbsp;</div><div>-UDP: 정밀하지 않고, 털털하고 가벼운 트래픽사용, “best-effort”service(약간의 오류도 허용)</div><div>-TCP: 정밀하고 정확한 트래픽 사용</div><div>*TCP는 congestion control/ flow control/ error control 수행하고 각각은 서로 연관되어 있다.&nbsp;</div><div>-TCP flow control: sender와 receiver 사이에 성능차이가 많이 날 때 reciver의 buffer가 부족해지는데, receiver가 ACK를 보낼 때 buffer 여유공간정보를 함께 보낸다. sender는 receiver의 buffer가 넘치지 않도록 데이터전송량을 조절한다.&nbsp;</div><div>-stop&amp;wait flow control: 패킷을 1개만 보내고 응답이 올 때까지 기다리는 방식.</div><div>*pipelining: 동시에 여러 개의 패킷을 보냄.(효율이 좋아짐)</div><div>-sliding-window flow control: ACK를 받을 때마다 window size가 이동하기 때문에 sliding window flow라고 불린다.&nbsp;</div><div>*lost data packet: receiver가 데이터 패킷을 받지 못한 경우 ACK를 전송하지 않으므로, sender는 영원히 ACK를 받을 수 없게 되고 동작을 멈춰야 하는 문제가 발생한다. &gt;&gt; “timeout”을 설정하여 일정 시간이 지난 후 마지막 데이터 패킷을 재전송한다.</div><div>*lost ACK timeout: receiver가 데이터 패킷을 잘 받았으나, sender가 ACK를 받지 못한 경우</div><div><br><br></div><div>-go-back-n ARQ:&nbsp;</div><div>*corrupted data packet: 애러가 나면 그 번호부터 다 버리고, 에러나 난 지점부터 다시 data packet을 전송하게 됨.</div><div>*corrupted ACKs: 1과 2의 ACK가 손상되고, 0(처음)과 끝(3)의 ACK만 도착할 경우, sender는 오류가 없다고 판단해버리는 문제가 발생. 평소에는 큰 문제가 되지 않지만, timeout 내에 1,2 ACK가 도착하지 않으면 sender는 문제가 있다고 판단하여 다시 1번 data packet을 재전송함.</div><div>-TCP Congetion control: 유선 network를 가정하고 만들어졌기 때문에, 에러의 경우의 수를 충분히 고려하지 못하였고, 에러발생시 router의 buffer가 넘쳤다고 생각.&gt;&gt; 해결방법으로 traffic개수를 줄여버림.</div><div>*dupacks: corrupted ACK를 연속적으로 받게 되는것.(모든 데이터를 유실하지 않았다는 것을 판단하고 ssthresh를 현재 값의 반으로 떨어져서 linear하게 증가)</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:15:57 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345087396</guid>
      </item>
      <item>
         <title>C1 최은서</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345092381</link>
         <description><![CDATA[<div>[AIoT 5-1장]<br>- network layer: ip address 이용<br>&nbsp; - forarding: moving input-&gt;output/routing: route to destination<br>&nbsp; - communication networks<br>&nbsp; &nbsp; - circuit switching<br>	&nbsp; - circuit establishment/data transfer/circuit termination<br>&nbsp; &nbsp; - packet switching<br>	&nbsp; - routed independently(pipelining) -&gt; reordering(@ receiver)<br>	&nbsp; - data size &gt; header -&gt; overhead<br>- routing algorithm: configure routing table(: destination|next node|cost)	 &nbsp;<br>&nbsp; - link state routing/distance vector routing<br>[AIoT 5-2장]<br>- IP addresses: host/router -&gt; 32bit address<br>&nbsp; - class A/B/C/D<br>&nbsp; - pair of net ID/host ID<br>&nbsp; - subnet addressing<br>&nbsp; &nbsp; - ex) classB: NetID(16)|SubnetID(8)|HostID(8)<br>- internet ↑ ip addresses exhaustion<br>&nbsp; -&gt; ↓ rate of depletion of remaining addresses<br>&nbsp; - CIDR: format -&gt; a.b.c.d/x (x: # of bits in network portion of address)<br>- host &lt;- IP address<br>&nbsp; - DHCP (dynamic host configuration protocol) -&gt; NAT (Network address translation)<br>[AIoT 6장]<br>- transport layer protocols<br>&nbsp; - logical communicaion running on different hosts<br>&nbsp; - internet protocols<br>&nbsp; &nbsp; -&gt; TCP(reliable)/UDP(no retransmissions)<br>	 - TCP<br>	&nbsp; &nbsp;- congestion control: controls source send rate<br>		 - retransmission timeout(by lost packet-&gt; cause: congested router)&nbsp;<br>		&nbsp; &nbsp;-&gt; windowsize 조절 (linearly increase &lt;-&gt; 1)<br>		 - 3 duplicate acks&nbsp;<br>		&nbsp; &nbsp;-&gt; fast retransmit mechanism<br>	&nbsp; &nbsp;- end to end flow control: sender faster than receiver (buffer overflow) 방지&nbsp;<br>		 - stop and wait flow control: 1 segment wait for ack<br>		 - sliding window flow control: send W segments without ack<br>	&nbsp; &nbsp;- error control: duplicate, error detection/retransmission<br>		 - stop and wait ARQ<br>		 - continuous ARQ<br>		&nbsp; &nbsp;- go back N<br>		&nbsp; &nbsp;- selective repeat request</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:18:18 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345092381</guid>
      </item>
      <item>
         <title>B1 성민석</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345107725</link>
         <description><![CDATA[<div>&lt;AIoT 5-1강&gt;</div><blockquote>네트워크 레이어와 IP의 특징을 배우고 최소의 코스트를 파악하는 방법을 알 수 있었습니다.</blockquote><div>&nbsp;</div><div>&lt;Network Layer &amp; IP&gt;<br>&nbsp;<strong>#Network Layer</strong><br> - Fowarding : 라우팅이 판단한 것을 받아서 전달하는 행위<br> - Routing : 어느곳으로 보내야할 지 주소를 보고 판단을 하는 행위<br> <br><strong>&nbsp;#Circuit switching</strong> (옛날 전화방식)<br> -Three phases (Circuit establishment, Data transfer, Circuit termination)<br> - 장점 : 한 회선에 딜레이가 작다<br> - 단점 : 비효율적인 채널 특성<br> <br> <strong>#Massage switching</strong><br> - 메세지가 크면 버퍼가 커야됨<br> -&gt; #Packet switching<br> - Data를 쪼개면 Time이 줄어듦. 대신 헤더가 많아지는 단점이 존재(무조건 많이 자르는게 좋은게 아님)<br> <br> <strong>#Routing Algorithms</strong> (Link State routing, Distance vector routing)<br> - 라우터가 라운팅 테이블을 잘 만드는것이 중요<br> <br><strong>&nbsp;#Link State routing algorithm</strong><br> - 노드가 서로서로 공유하면 topology의 구성을 알 수 있음<br> - #Dijsktra`s Algorithm<br> - shortest path from A to all destinations</div><div><br>&nbsp;<strong>#Distance vector routing</strong><br> - 각각의 라우터가 가장 잛은 거리를 알고 있음<br>&nbsp;<br>&nbsp;<br> &lt;AIoT 5-2강&gt;</div><blockquote>IP개념을 이해하기가 어려웠습니다ㅠ</blockquote><div>&nbsp;<br>&nbsp;5가지 클래스로 구분 (A, B, C, D, E)<br>&nbsp;<br>&nbsp;#Subnet mask<br>&nbsp;- Net ID, Subnet ID, Host ID의 비트 자리를 정하여 구성<br>&nbsp;<br>&nbsp;#DHCP<br>&nbsp;- 임시 주소를 받고 후에 반납하는 Host IP<br>&nbsp;<br>&nbsp;#NAT (Network Address Translation)<br>&nbsp;- router가 주소 바꿔치기<br>&nbsp;<br>&nbsp;- ICMP : 망관리<br>&nbsp;- IGMP : 멀티테스트를 위한 프로토콜<br>&nbsp;- IP 망을 통해 Layer이동</div><div>&nbsp;</div><div>&nbsp;</div><div>&lt;AIoT 6강&gt;</div><blockquote>UDP와 TCP의 개념과 차이점을 배우고, TCP에서 발생하는 에러를 Control하는 3가지(Congestion control, End-to-end Flow Control, Error Control) 방법에 대해 알 수 있었습니다.&nbsp;</blockquote><div><br></div><div>&lt;Transport Layer&gt;</div><div><strong>#UDP</strong></div><div>-&nbsp; &nbsp; &nbsp; User Datagram Protocol, no frills(장식이 없다)</div><div>-&nbsp; &nbsp; &nbsp; 축구 경기 중계방송에서 딜레이(화질저하 등)가 생겨도 큰 문제가 없다면 UDP를 쓰고, 은행과 같이 문제가 있다면 TCP를 쓴다.</div><div>-&nbsp; &nbsp; &nbsp; Best effort : 노력은 해보겠으나 문제가 생겨도 어쩔 수 없다~</div><div>-&nbsp; &nbsp; &nbsp; 하는일이 없어서 간단하다. 헤더8바이트인 간단한 프로토콜</div><div>&nbsp;</div><div><strong>#TCP</strong></div><div>-&nbsp; &nbsp; &nbsp; Congestion control, End-to-end Flow Control, Error Control 기억하기<br><br></div><div><strong>#Flow Control</strong></div><div>-&nbsp; &nbsp; &nbsp; Sender는 슈퍼컴퓨터, receiver는 느리다고 가정, 버퍼가 금방 넘침, 그걸 조절하는게 Flow Control, 리시버가 가능한 메모리 스페이스에 대한 정보를 포함시켜서 보내면 센더가 에크를 볼 때마다 속도를 조절할 수 있다. &nbsp;</div><div>-&nbsp; &nbsp; &nbsp; 대신 효율적이지 않음(오래 기다리니까), -&gt; sliding-window 방식을 사용한다면 기존보다 3배 효율적임</div><div><br><strong>#Error Control</strong></div><div>-&nbsp; &nbsp; &nbsp; Ack가 받지 못한다면 일정 기간 이후 retransmission 진행</div><div>-&nbsp; &nbsp; &nbsp; #Lost ACK timeout(ACK 패킷이 사라진 경우) 이전에 받았던 패킷은 중복되니까 discarded되고 ACK보냄</div><div><br><strong>#Go-Back-N ARQ</strong></div><div>-&nbsp; &nbsp; &nbsp; 만약 Corrupted data packet인 경우, 패킷을 일정 time out동안 discard하고 다시 보냄</div><div>-&nbsp; &nbsp; &nbsp; 만약 Corrupted ACKs인 경우, sender는 전혀 문제 없구나 생각하고 계속 진행함</div><div>-&nbsp; &nbsp; &nbsp; 대신 Time-out동안 못받는다면 안온것부터 다시 시작<br><br></div><div><strong>#Congestion Control</strong></div><div>-&nbsp; &nbsp; &nbsp; 문제가 발생할 경우, 버퍼가 넘쳐 패킷이 Loss가 된다고 생각하고 해결한다.</div><div>-&nbsp; &nbsp; &nbsp; #time-out이후, window size is reduced to 1mss하는 방법(34p참조)</div><div>-&nbsp; &nbsp; &nbsp; #fast retransmit이후, window size is reduced in half하는 방법(36p 참조)</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:26:10 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345107725</guid>
      </item>
      <item>
         <title>B4 조원석</title>
         <author>chows224</author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345110580</link>
         <description><![CDATA[<div>Chap. 5<br>Network Layer &amp; IP<br><br>Network Layer Services :&nbsp;<br>&nbsp;-sender가 보낸 데이터를 receiver가 제대로 받을 수 있도록 만드는 역할, header에 sender와 receiver의 IP 주소를 보냄.&nbsp;<br><br>Two Key Network-Layer Functions:<br>1. Forwarding : 입력을 받아 다음 라우터로 전달.<br>2. Routing : 주소를 보고 어디로 보낼 지 판단.<br><br>Circuit-Switched networks : 유선전화망<br>Packet-switched networks : 컴퓨터 통신망<br><br>Circuit switching : 과거의 전화 방식.<br>&nbsp;-번호 입력 &gt; 회선 예약 &gt; 통화 &gt; 회선 취소<br>&nbsp;-오랜 시간 통화에 delay가 없어 좋다.<br>&nbsp;-채널 낭비가 있다.<br>&nbsp;<br><br>Packet switching :&nbsp;<br>&nbsp;-버퍼 사이즈의 해결을 위해 하나의 데이터를 여러 개의 packet 사이즈로 쪼개어져 보내어 시간도 단축.&nbsp;<br>&nbsp;-중간에 어느 경로가 밀리면 다른 경로로 갈 수 있음.<br>&nbsp;-도착 순서가 바뀔 수 있지만 알아서 순서 확인을 하므로 문제 없음.<br>&nbsp;-너무 잘게 쪼개면 header의 수 증가로 인해 오히려 시간이 증가할 수 있음.<br><br>&nbsp;Message switching :<br>&nbsp;-Circuit의 끊어내는 부분이 없으므로 좋을 수 있지만 보내는&nbsp; message가 커지면, buffer의 사이즈가 커져야 함.<br><br>Routing Algorithms:<br>- 라우터들이 스스로 계산을 함.<br>- 각각의 노드는 이웃한 경로의 cost만 알고 있음.<br>- 라우팅 테이블을 만드는 알고리즘.<br><br>1. Link State routing algorithm :&nbsp;<br>-Dijkstra's Algorithm으로 문제 해결.<br>-특정 노드에서 시작 &gt; 모든 노드들과 연결 이때, 인접한 노드들은 cost를 입력, 인접하지 않은 경우 무한대로 기록 &gt; 가장 작은 코스트를 가진 노드 선택 &gt; 위의 방법 반복하며 routing table 제작<br>- routing table 에서 source에서 모든 노드들로 가는 최단 거리를 확인 할 수 있음.<br><br>2. Distance vector routing :<br>-Bellman-Ford Algorithm으로 문제 해결<br>-source에서 인접한 노드와 cost만 먼저 table을 만듦.<br>-이후 각각의 인접했던 노드들에서 다른 노드로 가는 cost table을 만듦.<br>-source와 인접한 노드의 table로 특정 노드로 가는 cost 계산 후 비교.<br>-가장 작은 크기 선택.<br><br>3. Hierarchical routing :<br>- 각 AS에서 대표 라우터 선정 후, 대표 라우터끼리 라우팅 테이블 생성, 이 때 내부의 라우팅 테이블 또한 생성.<br>- 두 테이블을 통해 cost 계산<br><br>IP(Internet Protocol)&nbsp;<br><br>1. IP addresses :<br>- 현재 버전은 4로, 32bit IP address 사용.<br>- class A : Net ID(7) , 판매하는 기관 수가 작음. Host ID(24) , 2^24개 만큼 컴퓨터 할당이 가능.<br>- class B : Net ID(14), Host ID(16)<br>- class C : Net ID(21), Host ID(8)<br>- Subnet Addressing : Host ID를 세부적으로 쪼개어 더 효율적으로 사용함으로써 체계적 관리가 가능함. 이때 Host ID와 Subnet ID의 크기는 사용자가 설정.<br><br>IP 주소 고갈 문제 해결을 위한 방법<br>1. IETF solutions : (Long term solution : IPng[IPv6] = 새로운 버전으로 바꾼다. 모든 장비를 교체해야 하므로 short term solution나옴.)&nbsp;<br>Short term solution &gt; CIDR<br>CIDR(Classless Inter-Domain Routing) :<br>- class에 상관없이 가변적으로 네트워크 IP 크기를 나눌 수 있음.<br>- 기존의 IP 주소에 /를 사용하여 host part를 알려주는 방식.<br><br>호스트가 IP 주소 할당하는 방법<br>1. Manual configuration<br>2. DHCP(Dynamic Host configuration Protocol) : 임시 IP 주소를 받아 쓰고 반납.<br><br>NAT(Network Address Translation) :<br>- IP 주소의 부족을 어떻게 할당하여 해결할 것인지에 대한 해법<br>- IP 주소 하나(공적 IP)로 많은 host(사설 IP)를 연결.<br>-라우터가 사설 IP의 Sender, Destination 주소를 라우터가 받아 sender의 주소만 공적 IP로 바꾸어 보냄.<br><br>Network Layer에 있는 protocols<br>1. IP&nbsp;<br>2. ICMP : 망, 네트워크 제어용 프로토콜<br>3, IGMP : 멀티캐스팅을 위한 프로토콜<br><br>Data Link Layer에 있는 protocols<br>ARP, RARP : Physical address를 IP address로 바꿔주는 프로토콜.<br><br>TTL(Time to live) field : 원래는 sender가 reciever에게 보내는 시간 측정 용도.<br>몇 번의 Hop을 거쳐 Destienation으로 갔는지 측정하는 용도로 사용.<br><br>Chap 6. Transport Layer<br><br>Transport layer protocols : 여러 상황(잘 도착했는지, 지연이 있는지 등)을 확인하는 역할<br>1. UDP(User Datagram Protocol) :<br>- 데이터를 조금 잃어버리거나 전송이 실패해도 상관 없을 때 사용하므로 간단함.<br>- sender, receiver 컨택 없이 바로 보냄.<br>- streaming multimedia applications에서 주로 사용<br><br>2. TCP(Transmission Control Protocol) :&nbsp;<br>- 에러가 있으면 안되는 데이터를 보낼 때 사용하므로 속도보다 정확성을 중요시함.<br>- (1)Congestion Control : sender가 보낸 데이터가 전송이 지연되는 경우 사용.<br>- Slow start : 처음에 window size=1로 시작 ACK가 잘 온다면 미리 정해진 threshold 사이즈까지 2^n으로 늘리며 보내다. thresh 사이즈와 동일해지면 Linear하게 1씩 증가. Time out으로 인해 ACK가 오지 않으면 그 시점의 값을 반으로 thresh를 두고 1로 돌아가 시작.<br>- Fast restransmit : 특정 packet이 오지 않고 그 다음 packet들이 오면 특정 packet이 오지 않았다는 ACK를 보냄. 이때는 Time out 발생 시 1로 시작하지 않고, 한계 값의 반으로 시작한 뒤 Linear하게 증가함.<br>- (2)Flow Control :<br>&nbsp; &nbsp; - sender, receiver 사이에 송수신 속도를 위해 사용, 둘 의 성능의 차이로 인해 리시버 처리 능력 부족으로 버퍼가 초과하면 sender는 쓸데 없이 데이터를 보내는 일을 함. 이런 상황을 방지하기 위해 receiver는 ACK packet(가능한 memory space를 포함한)을 보냄. sender는 memory space를 통해 속도를 조절함.<br>&nbsp; &nbsp; - Stop-and-wait flow control : sender에서 데이터를 보내면 리시버가 받고 확인을 위한 ACK를 보낼 때까지 sender가 기다렸다 확인 후 다음 데이터를 보냄.<br>&nbsp; &nbsp; - Pipelining : 윈도우 사이즈의 수만큼 데이터를 보내고 그에 맞는 ACK 도착 시 다음 것 보냄. stop-and-wait에 비해 효율이 좋음.<br>&nbsp; &nbsp; - Sliding-window flow control : window size만큼 보내고 ACK가 오면 다음 packet를 보냄.<br><br>-Window size : reveiber's advertised window, congestion window 중 작은 것으로 함.<br><br>- (3)Error Control :<br>&nbsp; &nbsp;에러 발생시 사용<br>&nbsp; &nbsp; - Stop-and-wait ARQ(일정 시간 동안 ACK가 오지 않으면 다시 보냄), Continuous ARQ로 분류.<br>&nbsp; &nbsp; -Continuous 의 GO-Back-N(sliding window에 기반을 둠)을 많이 사용<br>&nbsp; &nbsp; -Corrupted data packet : 에러 발생으로 오지 않은 packet으로 돌아가 다시 그 packet부터 보냄.<br>&nbsp; &nbsp; -Corrupted ACKs : 타임아웃 시간 내에 ACK가 다음 packet에 대한 ACK가 도착하면 문제가 없다고 판단하고 그 다음 packet을 보냄.<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:27:31 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345110580</guid>
      </item>
      <item>
         <title>A1 송윤서</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345111484</link>
         <description><![CDATA[<div>&lt;5장&gt; : network layer &amp; IP</div><ol><li>network layer services<ul><li>역할: 센더가 보낸 데이터를 리시버 측에 안전하게 전달하게 만듦, IP가 주로 수행함</li><li>두 가지 주요 기능<ul><li>forwarding: 라우팅에서 주소를 받아서 보고 전달하는 행 위</li><li>routing: 어느 곳으로 보낼지 주소를 보고 판단하는 행위</li></ul></li></ul></li><li>네트워크의 분류<ol><li>Circuit-switched networks<ul><li>옛날 전화 방식</li><li>circuit 만들기 → 통화하기 → circuit 끊기</li><li>장점: 한번 circuit이 예약되기 때문에 리얼타임으로 오랜시간 통화하기 좋음, 딜레이도 없음</li><li>단점: 채널에 낭비가 존재함</li></ul></li><li>Packet-switched networks<ul><li>mesagge switching: circuit 만들고 끊는 것 없이 바로 메시지를 보내는 방식</li><li>packet-switched networks는 mesagge switching의 일부</li><li>packet을 보낼 때 데이터를 packet 단위로 쪼개서 보냄. 전송 중 한쪽 경로가 밀리게 되어도 순서만 바뀔 뿐 문제가 되지는 않음</li><li>cirtcuit 만들고 끊는 과정 없음</li><li>시간 오래 걸림, 메시지가 클 때 데이터를 잘게 자름으로써 전송시간을 절약함, 하지만 작게 자를수록 시간이 짧아지는 것은 아님</li></ul></li></ol></li><li><strong>Routing Algorithms</strong>: 라우팅 표를 만드는 방법<ul><li>라우터가 스스로 계산</li><li>두가지 라우팅 알고리즘<ol><li>link state routing<ul><li>Dijkstra’s Algorithm</li><li>각각의 노드(라우터) 7개가 이웃한 노드, 코스트를 알고 있음.</li><li>각각의 노드가 전체 네트워크 topology를 공유함, 알고 있음</li><li>알고리즘 진행 과정 잘 알아둘 것</li></ul></li><li>distance vector routing<ul><li>bellman-ford algorithm</li><li>자신의 이웃하고만 데이터를 주고 받음</li></ul></li></ol></li><li>hierarchical routing<ul><li>세상의 많은 라우터를 같은 방식으로 만들기는 힘듦</li><li>각각의 시스템에서 대표 라우터를 설정하고 대표 라우터와만 소통할 수 잇게 만듦</li></ul></li></ul></li><li>IP: 라우팅 프토콜을 구현하는 방법<ol><li>IP addresses<ul><li>현재 32비트 ip address를 전 세계적으로 사용 중(버전 2)</li><li>net ID와 host ID로 나누어짐</li><li>크게 5가지 클래스로 구분함(A, B, C, D, E)</li><li>net id: ip를 통으로 산 기관(기업 등)의 id</li><li>기관에 사관 후 나머지 비트를 컴퓨터에 할당하는 구조 → host id</li></ul></li><li>subnet addressing<ul><li>host id를 효율적으로 사용하기 위해 subnet id를 만들어 세부 네트워크로 나눔</li><li>몇 비트로 나눌지는 기관에서 정할 수 있음</li></ul></li><li>problems of IP address scheme(class-ful addresses)</li></ol></li><li>d. CIDR(Classless Inter_domain routing)<ul><li>host id의 개수가 클래스에 따라 차이가 크기 때문에 문제 발생</li><li>클래스 상관 없이 슬래쉬(/ )에 숫자를 붙여서 네트워크 파트와 호스트 파트를 알려줌</li><li>클래스와 클래스 사이에도 다양한 개수의 아이디를 줄 수 있음</li></ul></li><li>e. host가 ip address를 얻는 방법<ul><li>manual configuration(일일히 할당), DHCP(Dynamic Host Configuration Protocol, 임시 아이피주소를 할당받아 쓰고 반납)의 두가지 방ㅅ</li><li>NAT: DHCP이서 가장 많이 쓰는 방법 중 하나 - ip address가 부족할 때<ul><li>아이피 주소 하나(공적 아이피) 가지고 엄청많은 호스트(사적 아이피)를 연결할 수 있음</li></ul></li></ul></li><li>f. Ip는 데이터를 전송하는 역할을 한다.<ul><li>Ip 구체적인 구조는 강의에서 생략</li></ul></li><li>&lt;6장&gt; : Transport Layer<ul><li>센더가 보낸것이 목적지에 잘 도착했는지, 중간에 에러가 났는지, 딜레이가 있는지 등에 대해서 확인</li><li>종류 : TCP, UDP</li><li>UDP<ul><li>어느정도 오류 있어도 상관없는 전송시 사용</li><li>전송이 잘되면 좋지만 안되면 어쩔수 없음</li><li>미리 센더와 리시버가 컨택하지않고 바로 전송</li></ul></li><li>TCP<ul><li>실수 없고, 절대 틀리지 않아야하는 전송시 사용</li><li>다양한 컨트롤: 가장 중요한 세가지<ol><li>Congestion control: 혼잡 상황이 생겼을 때</li><li>Flow control: 센더와 리시브 사이에 속도 조절</li><li>Error control</li></ol></li><li>flow control<ul><li>센더는 성능이 좋고 리시버는 성능 좋지 않을때, buffer가 넘치게됨</li><li>센더가 보내는 속도 조절필요 → flow contorl</li><li>리시버에서 잘 받으면 에크 팩킷을 센더에 보냄 → memory space 정보를 포함시켜 보내 센더가 확인할 수 있도록 함</li><li>따라서 리시버가 넘치지않도록 할 수 있음</li><li>Stop-and-wait: 센더 보낼때마다 ack 확인, 비효율적</li><li>Pipelining : 여러개의 팩킷을 동시에 보냄, 훨씬 효율적임</li><li>Sliding window: 여러개 보내고 ack 올때마다 데이터 추가해서 다시보냄. 윈도우 사이즈 만큼.</li></ul></li><li>Error control<ul><li>Stop and wait: ack를 받지 못하면 센더가 ack를 영원히 기다림 → 타이머 설정. Ack 이 사라진 경우에도 사용</li><li>Go back n arq를 많이 사용: sliding window 기반. 에러나면 그 번호부터의 window size만큼 데이터를 다시 전송. Ack가 사라진 경우 cumulative. 윈도우의 마지막 번호의 ack가 있을땐 문제없이 전송되지만, 그렇지 않은 경우에는 다시 전송</li></ul></li><li>Congestion Control(중요)<ul><li>어느 시점에 한곳에 트래픽이 몰리면 혼잡 상황 발생<ul><li>유선을 가정하에 만들었음 → 안정적이기 때문에 전송중 에러는 없다고 가정, 에러가 있다면 라우터에 버퍼가 넘쳤다고 생각함 → 트래픽 개수를 줄이는 방식을 취함</li></ul></li></ul></li></ul></li></ul></li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:27:56 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345111484</guid>
      </item>
      <item>
         <title>C1 김건순</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345118513</link>
         <description><![CDATA[<div>5-1장<br><br>Network Layer Service<br>Network로 패킷을 전달할 때에는 보내는 곳과 받는 곳의 IP 주소를 따져 송수신한다.<br>Routing : Fowarding을 할 때 어디로 보내야 하는지 정하는 행위<br>Circuit-switched networks : 전화(1~3세대)<br>Circuit을 만들고 데이터 전송 후 Circuit을 끊는 3단계의 과정이 진행된다.&nbsp;<br>장점 : 한 번 Circuit이 예약되기 때문에 Real-time으로 오랜시간 통화하기 좋다(delay가 적음)<br>단점 : 채널의 낭비가 발생한다. (오버헤드가 발생할 수 있다.)<br>Packet-switched networks(Message Switching) : 유선망 (4세대 이후)<br>Packet을 보낼 때 예약 없이 미리 데이터를 패킷단위로 쪼개서 보내는 방법.<br>트래픽이 발생하는 경우 라우터가 루트를 우회하기 때문에 리시버에서 받아들이는 순서가 다를 수 있다.<br>메시지가 크면 전달에 소요되는 시간이 길어지기 때문에 덩어리를 쪼개어 전달받는 즉시 받아온 패킷을 전달한다. 이 때 헤더가 추가되기 때문에 패킷을 너무 작게 자르는 것은 비효율적이다.<br><br>**Routing Algorithms<br>Destribute router들이 스스로 최적의 길을 찾는 알고리즘을 갖고 정보를 전달한다.<br>전달하는 행위 : 포워딩<br>알고리즘을 통해 Cost(비용)이 가장 적은 최적의 경로를 찾는다. (헤더를 보고 경로를 판단한다.)<br>-*Link State routing algorithm(Di's algorithm)<br>각각의 라우터가 라우터 내 노드와 이웃한 라우터의 노드 중 연결된 노드 간 이동에 필요한 Cost 및 node 구성정보를 교환한 뒤 각 노드간 이동cost를 저장해둔다. (routing table) 이후 인접한 노드별로 최저비용의 전달을 한 뒤, 다시 최저비용을 계산하여 전달을 반복한다.<br>코스트는 패킷이 직접 연결된 경우에만 계산 가능하다. 이 중 가장 cost가 낮은 경로를 선택하고, 선택된 경로에서 경로가 달라짐에 따라 cost가 작아진 경우와, 최저 cost경로를 기록하여 소요된 cost를 기록하고, 하나의 경로가 끝나면 그 다음으로 cost가 낮은 경로기록을 모두 기록하여 모든 node을 경유하는 데에 들어가는 최소비용경로를 계산하는 트리를 작성하는 알고리즘(shortest path algorithm) 기법이다.<br>이렇게 작성된 테이블의 노드와 호스트 정보를 공유하고 활용하여, 전달해야 할 패킷의 head 정보를 보고 경로를 결정하여 패킷을 전달한다.<br><br>Bellman-Ford Algorithm(for node X)<br>이웃하고만 정보를 교류하며, 각자가 갖고 있는 routing table을 활용하여 경로를 결정한다.<br>이웃한 node로 가는 cost와 table 내 cost의 합이 가장 작은 경로를 이용한다.<br><br>Hierarchical Algorithm<br>대표 라우터들끼리 라우터 테이블을 만들고, 해당 라우터들끼리의 거리만 계산하여 전달 후, 전달받은 Region내에서 스스로 경로를 계산하게 하는 기법이다.<br><br>5-2<br>IP addresses<br>전 세계적으로 버전2(32bit)를 사용중이다.<br>크게 5가지 calss로 구분되며, D와 E는 특수용도로 제작되었다.<br>회사 혹은 기관에서는 IP class를 구매하여 사용하며, Net ID와 Host ID를 32bit 내에서 할당하여 사용한다.<br>Net ID는 구매가능한 기관의 개수이며, 7bit가 할당된 경우 2^7개의 기관이 구매할 수 있음을 의미한다.<br>가장 대중적인 것은 Net ID가 14bit인 class B이다.(IP Addresses 128.0.0.0 - 191.255.255.255범위 내에 존재)<br><br>Subnet Addressing<br>Host ID를 효율적으로 사용하기 위해 Subnet ID를 지정하여 세부 네트워크를 형성하여 사용할 수 있다.<br>대표 라우터는 전체 네트워크를 대표하는 주소로, 모든 네트워크에 해당하는 routing table을 가지고 있다.<br>처음에는 IP가 대중화 될 것을 예측하지 못하여 IPv4버전(노드가 4개)로 만들었으나, IoT의 대중화 등으로 IP주소가 부족하게 되어 새로운 버전인 IPv6도입 및 CIDR(Classless Inter-Domain Routing : 기존 class의 고정된 개수의 IP주소를 할당하는 것이 아닌, /00을 추가하여 임의로 bit수를 조정하여 사용하는 방식)을 도입한다.<br>CIDR를 활용하여 IP주소를 얻는 방법은 Manual configuration(수동 지정)<br>DHCP(동적 IP, 임시IP)할당 방식이 있다.<br>NAT(Network Address Translation)<br>라우터가 공적 IP주소를 받은 뒤, 사적 IP주소를 형성하여 임의로 컴퓨터에 IP주소를 할당하는 방식.<br>여러 네트워크를 지나가다 보면 정해진 패킷의 사이즈가 다르기 때문에 패킷을 쪼개어 지나가야 하는 경우가 생긴다.<br><br>Time to Live : 라우터를 거칠 때 마다 숫자가 하나씩 줄어, 몇 번을 거쳐 목적지에 도착하는지 측정하는 것<br><br>6장<br>Transport layer protocols<br>sender와 receiver 사이에 transportation이 일어나는데, 잘 보내졌는지, 트래픽이 몰려 지연이 발생했는지 검사하는 역할을 수행한다.<br>TCP, UDP가 있다.<br>User Datagram Protocol (UDP)<br>No ack, 관리가 허술해도 되는 경우에 사용하는 것. 좀 흘려도 ok<br>중계방송처럼 실시간으로 전송하는 것이 더 중요한 경우(화질, 음성 등의 손실이 발생해도 큰 문제가 없는 경우) 등에 사용한다.<br>헤더 사이즈가 8bit밖에 안되는 간단한 프로토콜이다.<br><br>Transmission Control Protocol (TCP)<br>전달 과정에서 손실, 실수 등이 발생하면 안 되는 경우에 사용한다.<br>은행간 송금 등 중요한 정보를 다루는 곳에서 사용한다. 신뢰성이 있어야 하며, 정확한 전달을 요구하기 때문에 잘못된 패킷이 발생하면 버리고, 손실된 패킷이 발생하면 재전송을 요청하는 등 절차가 까다롭다.<br>*가장 중요한 3가지<br>*Congestion control<br>sender가 data를 보냈지만, 트래픽이 발생하여 데이터 전송이 밀리는 경우 사용<br>*End-to-end Flow Control<br>sender와 receiver 사이에 보내는속도 받는속도를 조절하기 위해 사용한다.<br>*Error Control<br>패킷에 노이즈가 꼈거나 손실이 발생했을 때 사용한다.<br><br>TCP Flow control<br>Sender가 데이터를 보내면 Receiver가 잘 받았다고 ack를 보내는데, receiver가 더 받을 수 있는 공간을 알려주고, 이를 확인하여 sender가 receiver의 수용능력이 넘치지 않도록 조절하는 방식이다.<br>Stop-and-wait flow control<br>데이터를 보낸 뒤, ack가 돌아오는 동안 기다려 sender의 버퍼상태를 확인하는 방법이지만, 대기시간이 길어 효율이 많이 떨어진다.<br>Pipelining increases utillization<br>한 번에 다수의 데이터를 보내고 대기하는 방식으로, 앞의 방법보다 효율이 크게 증가한다.<br>Sliding-window flow control<br>패킷의 전송량을 늘려 가며 윈도우의 사이즈를 파악하는 방식이다. ack와 receiver의 윈도우 사이즈 중 작은 값을 채택하여 데이터를 송신한다.<br><br>Error Control<br>sender는 매 회 패킷을 보낼 때 마다 ack를 기다리는데, 손실이 발생한 경우 대기시간이 무한해지는 경우가 생겨 최대 대기 시간을 설정한다. 이 시간(time out)은 ack가 도착하는 최대 시간보다 길어야 한다.<br>Go-Back-N ARQ<br>Sliding window방법을 사용할 때 적용된다.<br>Corrupted data packet<br>패킷이 도착하지 않은 경우 그 이후의 모든 패킷데이터를 time-out 이후에 다시 보낸다.<br>Corrupted ACKs<br>데이터는 수신되었으나 ACK가 회신되지 않은 경우 time-out내에 받은 ACK 사이에 수신되지 않은 ACK들에 대해서는 데이터가 성공적으로 전송된 것으로 판단한다.<br>time-out내에 ACK가 도착하지 않은 경우에는 time-out이후에 해당 순서 이후의 데이터를 일괄 재전송한다.<br><br>*TCP Congestion Control<br>유선 네트워크는 상당히 안정적이므로, 데이터가 제대로 전송되지 않은 경우에는 혼잡상황이 발생하여 라우터가 넘친 상황으로 판단한다. 이를 해결하기 위한 방법이다.<br>Congestion time-out<br>지정된 ssthresh값까지는 2의 제곱배만큼의 segments를 송신하고, 이후 선형적으로 전송량이 증가하다가 timeout이 발생한 이후로 초기 개수부터 다시 증가하며, ssthresh값을 증가시킨다.<br><br>fast retransmit<br>dupack이 3회 발생하고 나면, segments를 반으로 줄인 뒤 선형적으로 증가시킨다.<br>(dupack : 패킷이 도착하지 않은 경우, 해당 패킷에 대한 ACK를 지속적으로 보내 재전송을 요청하는것)<br><br><br>질문)트래픽이 발생한 경우에 routing algorithm은 최소의 cost경로만을 따라가나요? 아니면 차선책의 경로를 선택하여 우회경로를 설정하나요?</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:31:10 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345118513</guid>
      </item>
      <item>
         <title>A4 정한나</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345138253</link>
         <description><![CDATA[<div><strong>5장 Network Layer &amp; IP</strong></div><div>&nbsp; &nbsp;</div><ul><li>&lt;Network Layer Services&gt;</li></ul><div>-sender가 보낸 데이터를 receiver측에 안전하게 보내는 역할</div><div>-컴퓨터 네트워크는 패킷을 보낼 때마다 헤더에 주소를 적어서 보냄-&gt; 주소를 보고 라우터가 destination에 안전하게 보냄</div><div>&nbsp; &nbsp;</div><div>&lt;Network Layer&gt;</div><div>-Routing : 라우터가 주소를 보고 패킷을 보낼 경로를 결정</div><div>-Forwarding : 결정된 경로에 패킷을 보내는 행위</div><div>&nbsp; &nbsp;</div><div>&lt;Taxonomy of Networks&gt;</div><div>Communication networks</div><div>1. Circuit-switched networks(유선전화망) - 1,2세대</div><div>전화를 걸면 회선을 미리 예약을 하여 전화를 연결하고 전화가 끝나면 회선을 끊음</div><div>- Three phases : Circuit establishment&gt; Data transfer &gt;Circuit termination</div><div>장점 : 오랜 시간 통화할 때 딜레이가 없음/ 단점 : 채널의 낭비가 존재</div><div>2. Packet-switched networks(컴퓨터통신망) - 3세대~</div><div>- Message Switching의 종류</div><div>-패킷을 보낼 때 connection 없이 패킷으로 쪼개서 보냄</div><div>-트래픽이 발생하면 라우터가 다른 경로로 알려주기 때문에 패킷 보낸 순서와 도착순서가 다를 수 있음(순서를 재정비해서 상위 계층으로 보내기 때문에 문제x)</div><div>- 장점 : pipelining으로 인한 시간 단축</div><div>-단점 : 패킷을 잘게 쪼개면 오버헤드 확률 증가</div><div>&nbsp; &nbsp;</div><div><strong>&lt;Routing Algorithm&gt;</strong></div><div>-라우팅 테이블을 만들어주는 역할</div><div>-각 라우터가 스스로 계산하는 알고리즘 채택</div><div>-cost가 가장 적은 최적의 경로를 채택</div><div>-한 라우터는 이웃하는 라우터 간 cost만 알고 있음</div><div>1. Link State Routing algorithm(Dijkstra’s algorithm)</div><div>-각 노드(라우터)가 모든 다른 라우터와 정보를 교환해 모든 노드의 Topology가 동일해짐(브로드캐스팅)</div><div>2. Distance vector algorithm(Bell-man code algorithm)</div><div>이웃 노드(라우터)와만 정보를 교환하여 각 라우터가 가지고 있는 라우팅 테이블을 받아 계산하여 최적의 경로를 설정함</div><div>3. Hierarchical routing</div><div>현실적인 방법으로 대표 라우터(Region)를 선정한 뒤 라우팅테이블을 교환하여 계산하고 내부라우터테이블을 교환해 계산하는 방식</div><div>&nbsp; &nbsp;</div><ul><li><strong>IP</strong></li></ul><div>&lt;IP addresses&gt;</div><div>-32비트의 IP주소를 전국적으로 사용</div><div>-ip주소를 가지고 어떤 단말인지 확인 가능</div><div>-크게 5가지 class로 분류(A,B,C중요)</div><div>class A : 최상위비트가 0으로 시작, Net ID(7비트), Host ID(24비트)로 구성</div><div>class B : 최상위비트가 10으로 시작, Net ID(14비트), Host ID(16비트)로 구성</div><div>class C : 최상위비트가 110으로 시작, Net ID(21비트), Host ID(8비트)로 구성</div><div>-Net ID는 어떤 기관에서 구매할 수 있는 주소, 나머지 비트는 컴퓨터에 할당(Host ID)</div><div>-class A는 2^7만큼의 기관만 주소를 구매할 수 있으나 컴퓨터에 할당되는 비트가 크다는 장점이 있고 class C는 2^21만큼의 기관이 주소를 구매할 수 있으나 컴퓨터에 256기가만 할당이 가능하다는 단점을 가짐 그래서 class B를 가장 많이 사용</div><div>- Dotted Decimal Notation – each byte written in decimal<br>: 32비트를 8비트로 나눠서 10진수로 쓰는 방식</div><div>&nbsp; &nbsp;</div><div>&lt;Subnet Addressing&gt;</div><div>-Host ID를 효율적으로 사용하기 위해 쪼개서 사용하는 ID주소</div><div>-8비트를 가지고 건물이나, 한 층을 주고 나머지 호스트에는 나머지 단말기에게 부여해서 좀더 체계적으로 관리할 수 있음&nbsp;</div><div>-서브넷id를 가져도 대표 라우터와 연결되어 외부적으로는 라우터로만 통신함</div><div>-Subnet Mask : 한 조직 기관에서 Host ID를 subnet ID로 쪼개는 1로 나타내는 부분</div><div>&nbsp; &nbsp;</div><div>&lt;IP주소의 고갈 문제&gt;</div><div>-처음엔 노드4개를 연결하는 연구용으로 시작했으나 현재는 많은 사람들 및 IoT로 인해 많은 제품들이 센서를 가져야하기 때문에 32비트를 사용하는 현재의 IPv4의 주소가 고갈되는 문제가 나오게 됨</div><div>-IETF Solutions</div><div>1)Long term solution : 32비트의 IPv4를 128비트로 늘려 IP주소를 증가시키는 근본적은 해결책을 제시 -&gt; 모든 장비를 바꿔야하므로 오랜 시간이 걸린다는 단점을 가짐</div><div>2)Short term solution&nbsp;</div><div>i) CIDR(a.k.a 사이다)</div><div>-ip주소의 class 관계없이 네트워크 prefix length를 부여해 호스트 주소를 클래스보다 더욱 다이나믹하게 나눌 수 있는 방법 -&gt; ip주소를 매우 아낄 수 있음</div><div>-자신이 manual로 ip 주소를 할당하는 방식</div><div>ii) DHCP</div><div>임시 ip주소를 할당 받은 후 다시 반납하는 방식</div><div>iii) NAT(Network Address Translation)&lt;- 현재 가장 많이 사용</div><div>-하나의 IP주소를 가지고 엄청나게 많은 호스트를 연결할 수 있는 방식</div><div>-내부기관에서 사설 IP를 마음대로 할당하여 사용한 뒤 인터넷을 사용해야할 때는 공적인 하나의 IP주소로 라우터를 통해 통신</div><div>-내부기관에 있는 COM이 자신의 주소를 사설IP로 보내면 라우터는 NAT translation table을 통해 자신의 주소인 공적인 IP주소로 sender의 주소를 바꾸어 destination에 데이터를 전달하게 됨 또한 외부에서 데이터가 오게 되면 라우터는 NAT translation table을 통해 사설IP로 destination의 주소를 바꿔서 전송을 하게 됨 =&gt; 다양한 해법을 통해 ip주소 고갈 문제를 해결하고 있음</div><div>cf.)</div><div>-ICMP(Internet Control Message Protocol) : 망 관리 및 네트워크 컨트롤 역할의 네트워크 계층의 프로토콜, 실제 통신에는 사용하지 않음</div><div>-IGMP(Internet Group Message Protocol) : 멀티캐스트를 위해 정의된 네트워크 계층의 프로토콜로 역시 실제 통신에는 사용하지 않음</div><div>&nbsp; &nbsp;</div><div>&lt;IP datagram header format&gt;</div><div>-IP패킷은 20바이트의 헤더 + 실제 데이터로 구성</div><div>-Version : IPv4로 4를 사용</div><div>-각 망들마다 패킷을 받을 수 있는 크기가 다르게 설정되어있어 데이터를 전송할 때마다 쪼개지는 패킷의 정보 역시 헤더에 담음</div><div>-TTL(Time To Live) : sender가 receiver한테 데이터를 전송할 때 걸리는 시간을 측정하는 포맷이나 실제로는 패킷이 몇 번의 hop를 거쳐 destination까지 갈 수 있는지 계산하는데 사용</div><div>-Source address : Sender의 IP주소</div><div>-Destination address : Destination의 주소&nbsp;</div><div>&nbsp; &nbsp;</div><div><strong>6장 Transport Layer</strong></div><div><strong>&nbsp; &nbsp;</strong></div><ul><li>&lt;Transport Layer protocols&gt;</li></ul><div>- Transport Layer에서는 sender가 receiver한테 데이터 전송하는 계층</div><div>- Transport Layer protocol은 데이터가 목적지에 잘 도착했는지 확인하는 역할을 담당</div><div>트래픽의 종류에 나눠서 2개의 전송 계층의 프로토콜을 나누어서 사용</div><div>1.UDP</div><div>-데이터의 전송에 문제가 생겨도 상관없을 때 사용하는 프로토콜</div><div>-무연결성</div><div>-멀티미디어 스트리밍 서비스에 사용</div><div>-8비트의 헤더</div><div>2. TCP</div><div>-신뢰성 있는 데이터 전송을 보장하는 프로토콜</div><div>-<strong>TCP가 하는 일 세 가지(모두 연관되어있음)</strong></div><div>1) End-to-end Flow Control</div><div>sender가 패킷을 보내는 속도를 receiver의 남은 저장 공간에 따라 조절함</div><div>receiver는 sender에게 Ac신호를 보낼 때 spare room에 남은 메모리 공간에 대한 정보를 포함시켜서 보내면 sender는 데이터 송신 속도 조절이 가능해짐</div><div>i)Stop-and-wait flow control : 하나의 패킷을 보낼 때마다 수신자에게 ack신호를 받은 뒤 다음 패킷을 보내는 flow control 방식 =&gt; 시간이 오래걸려 효율이 떨어짐</div><div>ii)Sliding window flow control</div><div>- Pipelinig increases utilization : 여러 개의 패킷을 보내고 여러 개의 ack신호를 받는 방식 =&gt; stop-and-wati에 비해 효율이 증가</div><div>-window size : 한 번에 보낼 수 있는 패킷의 크기(리시버의 advertised window/congestion window 값 중 작은 값을 택)</div><div>-여러 개의 패킷을 보낸 다음에 ack신호가 오면 다면 다음 패킷을 보내는 방식</div><div>&nbsp; &nbsp;</div><div>2) Error Control</div><div>패킷이 노이즈 등으로 인해 에러가 생겼을 때 해결함</div><div>i) Stop-and-Wait ARQ&nbsp;</div><div>-Error-free-operation&nbsp;</div><div>-Lost data packet :일정시간(timeout) 내에 수신자에게 ACK신호가 오지 않은 경우 패킷을 재전송하는 방식(timeout의 크기는 ack신호가 올 수 있는 최대시간보다 더 커야함)</div><div>Lost ACK timeout : 송신자 측이 ack신호를 받지 못해 패킷을 재전송하기 때문에 이전에 받았던 패킷을 버림</div><div>ii) Go-back-N ARQ(Sliding window방식)</div><div>-Error-free operation</div><div>-Corrupted data packet : ACK신호가 오지 않은 패킷이후의 모든 패킷을 재전송&nbsp; 하는 방식</div><div>-Corrupted ACKs : timeout 값에 따라 재전송하냐/안하냐가 정해지는 방식</div><div>방식1) ACKs are cumulative -&gt; 재전송x</div><div>방식2) timeout이 될 때까지 마지막 패킷의 ack가 오지 않는 경우-&gt;재전송</div><div>&nbsp; &nbsp;</div><div><strong><mark>3) Congestion control</mark></strong></div><div>라우터의 버퍼 부족 문제를 해결하는 방식&nbsp;</div><div>i) Slow Start(Congestion control by timeout방식)</div><div>- 먼저 최초의 ssthresh값까지 1부터 2^n으로 window size가 증가하다가 ssthresh에 오면 선형으로 증가 -&gt; cwnd(혼잡윈도우크기)에 도달하면 송신측은 timeout까지 ack를 받지 못하게 됨 -&gt; cwnd/2를 두 번째 ssthresh로 설정하여 1부터 다시 과정 반복</div><div>ii) Fast Retransmit(Congestion control by 3 duplicate Acks방식)</div><div>- 이전의 일부패킷에 대한 ack신호가 오지 않았다는 신호는 dupack신호를 받았다면 1부터 window size가 증가하지 않고 cwnd/2부터 다시 증가하는 과정&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:40:44 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345138253</guid>
      </item>
      <item>
         <title>A1 이현경</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345149708</link>
         <description><![CDATA[<div>5장&nbsp;<br>Network Layer<br>- Sender가 보내는 것을 안전하게 receiver에게 전달하는 중요한 역할<br>- IP가 주로하는 일<br>-Routing : 어느 곳으로 보내야할지 주소를 보고 판단하는 행위<br><br>Circuit switching<br>-circuit establishment<br>-data transfer<br>-circuit termination<br>이점 : 한번 circuit이 예약이 되기 때문에 오랜시간 통화할때 delay 없이 가능함<br>단점 : 채널의 낭비가 존재한다<br><br>Message switching<br>- 미리 circuit을 만들거나 끊는 행위 없이 message를 보내는 방식<br>- Packet switching은 message switching의 일부<br>- Packet switching은 packet을 보낼때 connection 업시 그냥 데이터를 packet단위로 쪼개서 보내는 것<br><br>- Routing Algorithms : Routing table 를 어떻게 만들건지 그 table 만드는 알고리즘<br>누가 만들어 주는게 아니라 라우터들이 스스로 계산<br><br>Two routing Algorithms&nbsp;<br>-Link state routing/ Distance vector routing<br><br>Ip address<br>- Ip address 를 가지고 어떤 단말인지를 알 수 있음<br>- 크게 5가지 클래스로 구분한다/ Class A, B, C, D, E<br>- Class A는 너무 크고&nbsp; ClassC는 너무 적다보니 ClassB를 가장 많이 구매함<br><br>Dotted Decimal Notion : 32비트를 8비트씩 쪼개서 10진수로 쓰는 것<br><br>CIDR<br>- host id의 개수가 클래에서 따라 차이가 크기 때문에 문제 발생함<br>-클래스 상관 없이 /에 숫자를 붙여서 네트워크 파트와 호스트 파트를 알려줌<br>- 클래스와 클래스 사이에도 다양한 개수의 아이디를 줄 수 있음<br><br>Ip address 할당 방식<br>-Manual confoguration<br>-DHCP(Dynamic Host Configuration Protocol)<br><br>Ip address가 부족한 것을 어떻게 해결할까?<br>==&gt; 해법 중 하나가 NAT<br><br>NAT(Network Address Translation)<br>-Ip address 하나를 가지고 엄청 많은 호스트를 연결할 수 있는 방식<br><br>NAT, CIDR, Ipv6 이런 다양한 해법으로 Ip address가 부족한 문제를 해결하고 있다.<br><br>ICMP : 망관리하거나, 네트워크의 컨트롤하기 위한 용도<br>IGMP : 멀티캐스팅을 하기 위한 프로토콜로 아주 많이 사용하지 않음<br><br>6장<br>Transport Layer<br>-UDP : 간단, 큰문제가 없는 경우에 쓴다/ 기본적인 골격만 유지하는 프로토콜<br><br>-TCP : 속도보다는 정확해야하는 아주 중요한 트래픽을 전송할 때 씀/ 에러가 없어야하고 잘못된 packet를 버려야함<br><br>- Flow control : sender와 sender가 receiver를 넘치지 않게 만들어 주는 방식<br><br><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:46:06 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345149708</guid>
      </item>
      <item>
         <title>B2 모현수</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345179698</link>
         <description><![CDATA[<div>Chap 5 Network Layer &amp; IP</div><div><br><br></div><div>Network Layer Services</div><div>sender가 보낸 데이터를 receiver 측에 안전하게 보내는 중요한 역할을 함</div><div>헤더에 보내는 사람, 받는 사람 주소를 작성해서 보냄</div><div><br><br></div><div>패킷들을 라우터를 거쳐서 목적지까지 전달</div><div>라우터는 주소를 보고 패킷이 가야 될 주소를 보고 포워딩을 한다</div><div><br><br></div><div>라우팅 - 어느 곳으로 보내야 할지 주소를 보고 판단하는 행위</div><div><br><br></div><div>Taxonomy of Networks (Network core)</div><div>Circuit-switched networks : 유선 전화 망에서 쓰임</div><div>Packet-switched networks : 컴퓨터 통신 망에서 쓰임</div><div><br><br></div><div>Circuit Switching</div><div>서킷 생성 - 데이터 전달 - 서킷 끊음</div><div>장점 : 한번 서킷이 예약이 되기 때문에 오랜 시간 통화 할 때 좋음</div><div>단점 : 채널의 낭비가 존재</div><div><br><br></div><div>Message Switching</div><div>Packet Switching</div><div>패킷을 보낼 때 미리 커넥션 없이 미리 쪼개서 보내는 것</div><div>데이터 밀림이 생기면, 라우터가 다른 길로 알려줌(도착 순서가 달라질 수 있음)</div><div>파이프라이닝을 하기 때문에 빠르다</div><div><br><br></div><div>Routing Algorithms</div><div>라우팅 테이블을 만드는 알고리즘</div><div><br><br></div><div>Link state routing algorithm</div><div>다익스트라 알고리즘</div><div>각각의 노드와 이웃한 노드의 정보를 알고 서로 주고 받으면</div><div>모든 노드가 경로를 알게 된다.</div><div><br><br></div><div>IP (Internet Protocol)</div><div>라우팅 알고리즘을 구현하는 프로토콜</div><div><br><br></div><div>IP addresses</div><div>32bit ip 주소 전 세계적으로 쓰는 중</div><div>호스트, 네트워크 부분으로 나뉨</div><div><br><br></div><div>class A: 7비트 (Net ID), 24비트(Host ID) 0~127</div><div>class B: 14비트 (Net ID), 16비트(Host ID) 128~191</div><div>class C: 21비트 (Net ID), 8비트(Host ID) 192~223</div><div>class D : 멀티캐스트를 위해 할당 224~239</div><div>class E : 미래에 사용될 용도 240~247</div><div><br><br></div><div>Subnet Addressing</div><div>호스트 부분을 효율적으로 사용하기 위함</div><div>ex) 16비트 (Net ID), 8비트(subnet ID), 8비트(Host ID)</div><div><br></div><div>141.223.0.0와 같이 0은 대표하는 것이고, 내부의 라우팅 테이블에 대한 정보를 가지고 있음&nbsp;</div><div>255.255.255.0 0부분의 8비트만 호스트로 쓴다는 뜻</div><div><br><br></div><div>CIDR&nbsp;</div><div>클래스 상관없이 슬래시 해서 네트워크 부분이 어딘지 알려주고 IP 주소를 알려줌</div><div>ip주소를 아낄 수 있음</div><div><br></div><div>DHCP</div><div>임시 IP 주소를 받아서 쓰고 반납하는 방식</div><div><br><br></div><div>NAT&nbsp;</div><div>공적으로 할당받은 IP, 사적 할당 IP를 모두 사용</div><div><br><br></div><div>IP는 다양한 프로토콜로 만들어짐</div><div>TCP, UDP, ICMP(전송X, 제어담당), IGMP(멀티캐스팅용도), ARP(물리주소 → IP주소), RARP(IP주소-&gt;물리주소)</div><div><br><br></div><div>현재 IP version은 4</div><div><br><br></div><div>TTL</div><div>몇 번에 걸쳐 목적지까지 갔는지에 이용</div><div><br></div><div>Chap 6 Transport Layer&nbsp;</div><div><br></div><div>Transport layer protocols</div><div>sender가 보낸 것이 receiver에 잘 전달 됬는지 여부를 확인 하는 일을 함</div><div>ex) TCP, UDP</div><div><br><br></div><div>TCP</div><div>속도 보다는 정확성이 우선</div><div>congestion control : sender가 데이터를 보냈는데 혼잡되었을때 제어</div><div>flow control : sender와 receiver 사이에 보내는 속도 조절 제어</div><div>stop-and-wait flow control : 하나 보내고 ack를 기다림, 효율적이지 못함</div><div>pipelining : 동시에 여러 개를 보냄</div><div>sliding-window flow control : 여러 패킷을 보내고 윈도우 사이즈를 옮기고 다음 패킷을 보냄</div><div><br><br></div><div>error control : 노이즈 있을 때 제어&nbsp;</div><div>stop-and-wait ARQ : 하나 보내고 ack를 기다림, 타임아웃을 이용</div><div>go-back-n ARQ : 슬라이딩 윈도우 방식,&nbsp;</div><div><br></div><div>UDP&nbsp;</div><div>간단한 프로토콜, 전송에 문제가 있어도 큰 영향 X&nbsp;</div><div><br><br></div><div>TCP Congestion Control</div><div>혼잡되면 버퍼가 넘침 → ssthresh 이용 (타임아웃에 의해)</div><div><br></div><div><br></div><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 13:59:37 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345179698</guid>
      </item>
      <item>
         <title>C2 한광영</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345183142</link>
         <description><![CDATA[<div><strong>5장 Network Layer &amp; IP</strong><br><br><strong>1. Network Layer</strong><br>sender가 보낸 data를 receiver에게 안전하게 전달<br>a)<br>forwarding:&nbsp; input -&gt; output<br>routing: 어디로 보낼지 IP로 판단<br><br>b) communication network<br>i) Circuit switched networks<br>유선망 -&gt; 1,2G<br>통화 걸면 미리 회선 예약 후, 시작과 끝<br>ex) Message switching<br>connection없이 message 보냄<br>-&gt; message 클 시 buffer 사이즈 문제<br>-&gt; 쪼갬 : Packet switching<br>주의: 많이 쪼갠다고 짧게 걸리는 것 아님<br>(header와 data 비율 비슷할 시, 효율↓)<br><br>c) Routing algorithms<br>-&gt; routing table만드는 알고리즘<br>-&gt; 최소비용 최대 효율<br>i) Link State routing algorithm<br>-&gt; 서로 인전한 것을 공유하여 모든 node가 경로를 알 수 있게함<br>ex) Dijkstra's Algorithm<br>-&gt;최소 cost 노드로 늘려가며 각각 최소 cost 노드 고름<br>ii) Distance vector routing<br>ex) Bell-Ford Algorithm (for node X)<br>-&gt; 이웃하고만 인전합 것 공유함(모든 node에겐 x)<br>-&gt; 인접한 node의 router table 과 인접node와 현재 node의 거리를 재고 더해서 모든 곳에 최소 값을 정함<br><br>-&gt; 근데 이런 것들 많이 하기 매우 비효율<br>-&gt; Hierarchical routing<br>: 각각 AS에서 대표 router 선정, 그 router만 routing table 작성, 내부는 내부에서<br><br><strong>2. IP</strong><br>32bit IP address<br>-&gt; 방식에 따라 class 나뉨<br>Net ID: 기관의 IP<br>host ID: 컴퓨터가 할당 받은 IP<br>-&gt; subnet addressing<br>host ID부분을 기관에서 사서 세부 네트워크로 쪼개서 사용<br>-&gt; class 간 bit 차이가 많음(중간이 없음)<br>-&gt; CIDR로 해결<br><br>- IP address 할당 어떻게?<br>a) Manual configuration: 하나씩<br>b) DHCP: 임시 IP 할당 ex) wifi<br>-&gt; IP address 부족문제 해결: NAT<br><br>-NAT<br>하나의 address로 여러명 host<br>(정식)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(local)<br>sender를 바꾸거나,<br>destination 바꾸는 형식<br><br><strong>6장 Transport Layer</strong><br><strong>1. transport layer</strong><br>-&gt; sender와 receiver사이에 data 전송(packet 단위로 보내는 것)<br>-&gt; 이 과정 잘 이뤄지는 지 여부 확인<br>a) UDP<br>간단, 전송 제대로 안되도 문제 x<br>b) TCP<br>깐깐함, 아주 정확해야, 제대로 전송되어야<br>i) Congestion control<br>-&gt; sender가 data보낼 때, data전송이 제 시간에 안될 때 해결<br>ii) End-to-end Flow Control<br>-&gt; sender와 receiver 사이에 송수신 속도 조절위해<br>iii) Error control<br>-&gt; packet이 중간에 noise, error있을 때 문제 다룸<br><br><strong>-TCP flow control</strong><br>sender와 receiver 성능 차 심할 때, data 전송 속도 조절<br>i) Stop and wait flow control<br>-&gt; 하나씩 보내고 ack 받기<br>-&gt; 비효율<br><br>ii) Sliding window flow control<br>-&gt; 여러개 보내고 ack올 때마다 하나씩 더 보냄<br><br><strong>- Error Control</strong><br>i) stop and wait ARQ<br>timer로 해결<br>: timeout value 정해서 그 시간 넘어버리면 다시 전송<br>-&gt; data lost, ack lost<br>ii) sliding window<br>a) Go back N ARQ<br>ㄱ) data lost<br>-&gt; lost된 data부터 timeout되면 다시 전송(lost 이후 data는 discard)<br>ㄴ) ack lost<br>I) ack받았을 시, 그 전 거는 왔다는 소리이므로 그냥 진행<br>II) ack 못받을시, 다시 보냄<br><br><strong>- TCP Congestion control</strong><br>: 들어오는 것에 비해 나가는 것 매우 적어 buffer 넘치는 문제 해결<br>a) Slow start<br>windowsize 점점 늘리다가 packet 오지 않은 것 견시, ssthresh를 cwnd/2로 설정하여 다시 1부터 시작<br>b) Fast start<br>Slow start인데, dupack으로 traffic congestion 정도 파악 후, ssthresh를 cwnd/2로 설정 후, 적절한 위치에서 시작</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 14:01:22 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345183142</guid>
      </item>
      <item>
         <title>B2 김성언</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345217087</link>
         <description><![CDATA[<div>5-1장 Network Layer</div><div>- 데이터 보낼때 주소를 써서 보냄 → 여기서 주소는 것은 IP이다.</div><div>- network layer : 라우터가 입력측에서 받아서 출력측으로 보내는 역할</div><div>- routing : 주소를 보고 어디로 보내야 할지 판단하는 행위</div><div>- forwarding : 보내는 행위</div><div>- message switching : 정한 경로로 바로 보냄</div><div>- packet switching : 다른 경로로도 갈 수 있게 보냄 → 순서가 바뀌어서 와도 다시 정렬해줌 / message switching으로 보내면 message가 클 경우 라우터의 용량이 커져야하므로 message를 packet으로 짤라서 보냄 → 시간 축소</div><div><br><br></div><div>- 데이터 보냄 → 라우터(라우팅 테이블에서 라우팅 헤드를 보고 데이터를 보냄) → 데이터 받음</div><div>- 이때 라우팅 알고리즘(라우터끼리 스스로 계산)을 통해 라우터 경로를 판단함</div><div>- 라우팅 알고리즘</div><div>(1) Link State routing = Dijkstra’s 알고리즘</div><div>누가 어디에, 어떤 호스트와 노드로 연결되어 있는지 ‘모두에게’ 알려줌 → 이웃해 있는 host를 통해 cost를 계산한다. → 다른 host로 가는 node의 cost를 step의 수만큼 구하여 가장 작은 cost를 선정한다. → 계속 가장 작은 cost의 경로를 선정한다. → 최적의 경로 (해당 host로 가는 경로에 더 작은 cost가 있으면 안적음)</div><div><br><br></div><div>(2) Distance vector routing = Bellman-Ford Algorithm</div><div>모든 라우터의 이웃 라우터로 가는 링크를 ‘이웃하고만’ 서로 안다. → 가장 짧은 길을 계산함</div><div><br><br></div><div>- Hierarchical routing → 너무 사이즈가 크니까 routing tables를 각각 Region으로 묶어놓자.</div><div><br><br></div><div>5-2장 IP</div><div>- IP는 ABCDE 다섯가지 class로 구분됨</div><div>- net ID : 조직(기관)에서 사용하는 ID (2^( )개의 조직이 사용할 수 있음)</div><div>- host ID : 2^( )개의 컴퓨터를 사용할 수 있음</div><div>- class B가 net ID = 2^14, host ID = 2^16으로 적당해서 가장 많이 사용됨</div><div><br><br></div><div>- Dotted Decimal Notation = 8개 bit 씩 나눠서 값을 표현 ex) 10000000 00001010 00000010 00011110 → 128.10.2.30</div><div><br><br></div><div>- Subnet addressing → host ID를 여럿이서 쓰는것 ex) 한층에서 같은 host ID를 씀 or 한 부서가 같은 host ID를 씀</div><div>- 141.223.0.0의 라우터 → 141.223.162.0, 141.223.161.0,,, 등등 141.223.X.X의 ID를 가지고 있음</div><div>- 한 기관에서 몇비트로 쪼갰는지 알기 위해서 subnet mask를 쓴다 ex)11111111 11111111 11111111 00000000 → 255.255.255(이걸 subnet으로 쓴다).0 → host는 써야하니까 0!</div><div><br><br></div><div>- IP가 방대해져서 IPv6이 나옴 → 더 필요 → CIDR : class 상관없이 200.23.16.0/27 처럼 ‘/’를 붙여서 뒤의 숫자만큼 32bit에서 빼서 해당 bit만큼 숫자를 늘림</div><div><br><br></div><div>- DHCP : 임시 IP 주소를 할당 받아서 쓰고 반납하는 방식</div><div>- NAT : ex) 138.76.29.7이라는 공적 IP를 라우터에 받음 → 10.0.0.4, 10.0.0.3, 10.0.0.2,,, 등등 사적인 IP를 만들어서 사용</div><div>- NAT translation table에 (사적인) sender IP와 Destination IP를 적음 → 라우터를 통과할때 Sender IP를 공적인 IP로 바꿔서 보냄 → 돌아올때는 공적인 IP로 옴 → 이때 NAT translation table에 적힌 Destination IP를 보면서 누가(사적인 sender IP) 보냈지? 살펴봄 → 라우터에서 IP를 바꿔서 걔한테 보냄</div><div><br><br></div><div>6장 Transport Layer</div><div>- transport layer protocols : 잘도착했는지 알아봄</div><div>- UDP(털털)</div><div>- TCP(깐깐)</div><div>(1) Congestion control</div><div>- slow starter : ssthresh 값까지 2승개씩 congestion window가 걸리고 이후로 선형적으로 증가함 → timeout까지 증가하다가 다시 1로 줄어듦 → 2승개씩 증가하는데 이전 최대값의 절반까지 증가 → ,,, &lt;타임아웃에 의해서 packet이 오지 않는 경우&gt;</div><div>- fast retransmit : slow starter에서 1로 줄어들지 않고 이전 최대값의 절반까지만 줄어듦 → ‘별로 congestion이 안됐구나’ 라고 생각됨</div><div>(2) End-to-end Flow Control (=flow control) : sender가 receiver가 넘치지않게 만들어 주는 방식, spare room을 만들어서 보냄</div><div>- stop-and-wait flow control = ack가 올때까지 안보냄 → 효율 x, 오래걸림</div><div>- sliding-window flow control = 여러개를 미리 보내놓는 방식</div><div>(3) Error Control</div><div>- stop-and-wait ARQ : ack 올때까지 기다림 → 일정시간을 정해서 ack이 안오면 다시 보냄</div><div>- Go-Back-N ARQ : 3개를 먼저 보내고 ack가 오면 ‘잘받았구나!’ 하고 하나씩하나씩 미리보냄 → ack가 안오는 에러가 나면 다시 거기부터 보냄</div><div>- cumulative 현상(?) : 0이 오고 바로 3이 오면 1, 2번도 받았다고 생각함(단, timeout 안에 있을때)</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 14:18:23 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345217087</guid>
      </item>
      <item>
         <title>B4 김민준</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345218933</link>
         <description><![CDATA[<div>1. 배운점<br>#5장<br>Network Layer Services<br>sender가 보낸 데이터를 reciever측에 전달하는 역할 (ip adress 붙여서 보냄)<br>router가 입력측에서 받아서 출력쪽으로 보내는 결정을 할 때 주소 확인<br>routing 주소를 보고 어디로 보낼지 결정 Forwatding 보내는거<br>circurt switching 옛날 방식 - 전화선 미리 예약 후 통화 시작 / 끝나면 취소<br>Message Switching은 바로 보냄 *메시지 길어지면 오래 걸리고 버퍼가 커야함<br>Packet Switching은 쪼개서 보냄 한쪽이 밀리면 다른 경로로 데이터 보냄 / 순서 재정비<br>packet을 쪼개서 시간을 단축할 수 있음. (Pipelining) - header가 많아져서 무조건 많이 쪼개는게 좋은 건 아님<br>routing table을 만드는 알고리즘 : Routing Algorithms&nbsp;<br>각각의 router가 비용이 최소인 최적의 경로를 찾는 알고리즘을 만듦<br>link state routing- 이웃한 노드만 알고 있으므로 서로서로 주고받아서 전체 맵 그림 shortest path 알고리즘 적용<br>distance vector routing - Bellman Ford Algorithm이용 / 이웃한 노드 routing table 받아서 routing table 만듦<br>대표 router만해서 만드는 것을 hierarchical routing<br><br>IP(internet protocol) -host 부분과 net 부분으로 나뉨<br>net id가 n이면 2^n까지 확장가능<br>host id 부분을 세부적으로 subnet과 host로 나눠서 쪼개서 쓸 수 있음.<br>subnet mask를 씀 - 225.225.225.0 8bit 전체를 subnet으로 쓰는거...<br>ip address 고갈되는 문제를 풀기 위해IETF solutions은 IPv6 새로운 버전을 만들자는 것. (장기)<br>2^8 너무작음 2^16 너무 큼<br>CIDR&nbsp;<br>DHCP 임시 ip address 받았다가 반납<br>NAT : ip address 1개로 많은 기기와 연결 (사적 ip주소로 할당) Sender를 Destination과 바꾸며 데이터 교환<br>ICMP는 제어용, IGMP는 multitasking용<br>network마다 언어가 달라서 여러 network 제어하다 보면 ... ?<br><br>#6장<br>Transpork later protocols : logiclal communication<br>UDP는 간단함, 전송 안되서 문제없는 트래픽 전송<br>TCP는 깐깐함, 실수가 있어서는 안되는 트래픽 전송&nbsp;<br><br>Stop-and-wait flow control 효율적이지 못함<br>pipelining increases utilization 효율이 좋음 / 여러개 보냄<br>congestion이 생길경우&nbsp; TCP congestion control error가 발생하면 없다 생각하고 트래픽 갯수 줄임</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 14:19:22 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345218933</guid>
      </item>
      <item>
         <title>B3 박대민</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345235275</link>
         <description><![CDATA[<div><strong>5장 Network Layer &amp; IP</strong></div><div><br></div><div><strong>&nbsp;1. Network Layer<br></strong><br></div><div><br></div><div>&nbsp;1) Network Layer란</div><div>&nbsp;- 데이터 패킷을 전송하는 역할</div><div>&nbsp;- 데이터 header에 송신,수신 host의 IP가 저장되어 있다.</div><div>&nbsp;- 중간에 Routing을 통해 주소를 식별하고 전달한다.</div><div>&nbsp;</div><div>&nbsp;2) Circuit-switch networks</div><div>&nbsp;- 옛날 전화 방식</div><div>&nbsp;- 1,2 세대 스마트폰</div><div>&nbsp;- 서킷을 만들고, 데이터를 변환하고, 서킷을 종료하는 과정</div><div>&nbsp;- delay가 없어 오랜 통화 유리하다.&nbsp;</div><div>&nbsp;- 채널 낭비가 존재한다.</div><div><br></div><div>&nbsp;3) Packet-switching networks</div><div>- Message Switching의 일부</div><div>&nbsp;- 긴 메시지를 여러 패킷으로 나누어 보냄</div><div>&nbsp;- 너무 많은 패킷을 쪼개면 헤더가 많아져 비 효율적이다. (Overhead)</div><div><br></div><div>&nbsp;4) Routing Algorithm</div><div>&nbsp;- Link State routing</div><div>	(1) 이웃한 노드들끼리 연결정보와 cost를 알고 있기 때문에 정보를 주고 받으면 같은 topology를 그릴 수 있다.</div><div>&nbsp;- Distance vector routing</div><div>	(1) 이웃하고만 정보를 주고 받는다.</div><div>&nbsp;- Hierarchical routing</div><div>	(1) 라우팅이 많고 멀리 있어 현실적으로 힘든 부분이 있어 만든 알고리즘</div><div>	(2) 대표하는 라우터를 지정하여 데이터를 주고 받고 내부 라우터에 전달</div><div><br></div><div><strong>&nbsp;2. IP&nbsp;<br></strong><br></div><div><br></div><div>&nbsp;1) IP addresses</div><div>&nbsp;- ipv4: 32bit</div><div>&nbsp;- Net ID: 기관</div><div>&nbsp;- Host ID: 기관 내 컴퓨터</div><div>&nbsp;- classA ~ E로 5개 나뉘어짐 (그 중 A,B,C는 우리가 자주 봄)</div><div>&nbsp;	(1) class A&nbsp;</div><div>		- 7bit / 24bit (Net ID, Host ID)</div><div>		- 0.0.0.0 ~ 127.255.255.255</div><div>	(2) class B</div><div>		- 14bit / 16bit</div><div>		- 가장 많이 쓴다 (포항공대)</div><div>		- 128.0.0.0 ~ 191.255.255.255</div><div>	(3) class C</div><div>		- 21 bit / 8bit</div><div>		- 192.0.0.0 ~ 223.255.255.255</div><div><br></div><div>&nbsp;2) Subnet Addressing</div><div>&nbsp;- Host ID를 Subnet ID 8bit/8bit로 세분화한다.</div><div>&nbsp;- X.X.0.0는 대표 라우터이다.</div><div><br></div><div>&nbsp;3) CIDR (Classless Inter-Domain Routing)</div><div>&nbsp;- ipv4의 단점 host ID는 8bit, 16bit, 24bit 3개 밖에 선택 할 수 없는 단점을 보완</div><div>&nbsp;- /숫자 를 붙여 network part를 알려주고 나머지 값들은 host part</div><div>&nbsp;</div><div>&nbsp;4) IP address 할당 방법</div><div>&nbsp;- Manual configuration: IP 하나를 할당</div><div>&nbsp;- DHCP: 임시 IP address 할당</div><div><br></div><div>&nbsp;5) NAT</div><div>&nbsp;- ip 부족 해법중 하나</div><div>&nbsp;- ip address하나로 많은 host를 연결</div><div>&nbsp;- 공적 / 사설 ip로 나눠 사설 ip를 할당해준다.</div><div>&nbsp;- Sender를 중간에 router를 통해 바꾼다.</div><div><br></div><div><br></div><div><strong>6장 Transport layer protocols</strong></div><div><br></div><div>&nbsp;1) UDP</div><div>&nbsp;- 실패, 정보를 잃어버려도 된다.</div><div>&nbsp;- no frills: 장식이 없다</div><div>&nbsp;- bare bones: 기본적인 골격만 유지</div><div>&nbsp;- best effort: 전송이 잘 되면 좋고 안되면 어쩔 수 없다.</div><div>&nbsp;- connectionless: 커넥트가 없다.</div><div>&nbsp;- header size 8byte</div><div><br></div><div>&nbsp;2) TCP</div><div>&nbsp;- 속도보단 정확</div><div>&nbsp;- 실시간 중계, 은행간 송금<br>&nbsp; - 에러가 있으면 안된다.</div><div>&nbsp;- Congestion control: sender가 데이터를 보냈는데 제 때 전송이 안됐을 때 어떻게 처리 할 것인가 문제</div><div>&nbsp;- Flow Control: sender, receiver 사이 보내는 속도, 받는 속도를 조절</div><div>&nbsp;- Error Control</div><div>&nbsp;</div><div>&nbsp;3) TCP Flow control</div><div>&nbsp;- sender는 슈퍼컴퓨터, receiver 안좋은 컴퓨터라고 가정</div><div>&nbsp;- sender는 빠르게 보내지만 receiver가 잘 받지 못하는 경우 속도를 조절</div><div>&nbsp;- ack를 보냄으로 데이터 송신 성공 신호를 보냄</div><div>&nbsp;- 종류</div><div>	(1) Stop-and-wait flow control</div><div>		- 하나 보내고 ack 받고 또 하나 보내는 방법</div><div>		- 느리다는 단점</div><div>	(2) Sliding-window flow control</div><div>		- 여럿 패킷을 보내고 윈도우 사이즈를 오른쪽으로 보내면서 다음 패킷을 보냄</div><div>		- 윈도우 사이즈 : 한 번에 보낼 수 있는 패킷의 크기(receiver’s advertised window/congestion window 값 중 작은 값을 택)</div><div><br></div><div>&nbsp;4) TCP Error Control</div><div>&nbsp;- 종류</div><div>	(1) Stop -and-wait ARQ</div><div>		- 일정 시간 ack를 받지 못 할 경우에 timeout을 준다</div><div>	(2) Go-back-and</div><div>		- window size를 준다.</div><div>		- 에러가 발생하면 다시 돌아와 에러 났던 부분 부터 다시 데이터를 보냄</div><div>		- 중간 ack가 사라졌을 때 마지막 ack가 정상적으로 보내지면 정상이라고 판단</div><div><br></div><div>&nbsp;5) TCP Congestion control</div><div>&nbsp;-&nbsp; 요청이 많이 들어올 경우를 대비해 timeout설정</div><div>&nbsp;- 종류</div><div>	(1) Slow start</div><div>		- 윈도우 사이즈를 점점 늘리다가 timeout으로 packet 오지 않으면 현재 사이즈 값의 반을 ssthresh 설정하여 다시 처음부터 시작</div><div>	(2) Fast retransmit</div><div>		- 중간 ack가 사라졌을 때 마지막 ack가 정상적으로 보내지면 정상이라고 판단하고 (3dupack) ssthresh를 절반으로 설정, n/2값부터 시작</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 14:27:41 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345235275</guid>
      </item>
      <item>
         <title>A2 장동언</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345240355</link>
         <description><![CDATA[<div>[질문]<br><br></div><div>Q1. “Effect of packet size on transmission time”을 보면, packet을 특정 수로 쪼개면 되려 시간이 길어지는 때가 있는데, 적정 값을 찾으려면 실험적으로 찾아보는 방법뿐인가요?<br><br></div><div>Q2. Kijkstra algorithm은 각 router에서 독립적으로 연산되는 것인지, central node에서 연산하는 것인지 궁금합니다.<br><br></div><div>Q3. CIDR을 적용하면, subnet ID는 따로 두지 않는건가요?<br><br></div><div>Q4. DHCP방식의 NAT을 사용하게 되면, router에 처리해야할 정보량이 많아져 과부하되지는 않나요?<br><br></div><div>Q5. Congestion control 방식의 ssthresh 값을 정하는 기준은 무엇인가요?<br><br></div><div>&nbsp;<br><br></div><div>[CH 5-1. Network Layer &amp; IP]<br><br></div><div>1. 역할<br><br></div><div>우편시스템과 같이, sender가 보낸 데이터를 receiver에게 안전하게 전달되도록 하는 역할 수행. N.L의 protocol인 IP의 역할이기도 하다.<br><br></div><div>packet이란 데이터를 보낼 때마다 IP Address를 붙여 router를 거쳐 목적지에 도달한다.<br><br></div><div>1.1. NL의 역할<br><br></div><div>Router를 지나갈 때 forwarding을 하는데, 어디로 보낼지 주소를 보고 판단하는 행위인 Routing을 한다. 그리고 데이터를 보내는 행위를 forwarding이라 한다.<br><br></div><div>1.2. Taxonomy of Networks<br><br></div><div>- Circuit switching<br><br></div><div>미리 circuit을 예약(Circuit) à Data transfer à Circuit termination 세 가지 행위로 구성.<br><br></div><div>장점: circuit을 예약하기 때문에 real-time으로 오랜 시간 통화할 때 유리<br><br></div><div>단점: 채널의 낭비로 인해 손실이 발생<br><br></div><div>- Message Switching<br><br></div><div>미리 circuit 예약없이 바로 보내는 행위.<br><br></div><div>- Packet Switching<br><br></div><div>Packet을 보낼 때 미리 connection없이 데이터를 쪼개서 packet 단위로 보냄. 따라서 경로가 밀린다면, 다른 경로로 보냄. 따라서 receive data의 순서가 달라질 수 있음.<br><br></div><div>장점: circuit이 없지만,&nbsp;<br><br></div><div>단점: message가 길어지면 시간이 오래 걸림. 메시지가 크면 router의 크기 또한 커져야 함. 이를 위해 Packet을 쪼깨어 시간을 단축.<br><br></div><div>- Effect of packet size on transmission time<br><br></div><div>Q. 무조건 Packet을 잘게 쪼개면 좋은걸까?<br><br></div><div>A. Packet 당 헤더의 숫자도 함께 늘어나기 때문에 시간이 길어진다.<br><br></div><div>1.4. Routing Algorithms<br><br></div><div>각 router가 갖고 있는 Routing table을 잘 만들어야 path를 효율적으로 짤 수 있다. Central node가 전달하는 것이 아니라, 각 router가 스스로 계산하는 알고리즘.<br><br></div><div>두 가지 종류가 있다. “Link State routing”, “Distance vector routing”<br><br></div><div>1) Link State routing<br><br></div><div>나의 이웃과 cost를 알고 이것을 공유한다. 이것을 모든 router가 주고 받으면, 모든 node가 똑같은 topology를 얻을 수 있다.<br><br></div><div>각 노드는 topology를 바탕으로 Dijkstra’s Algorithm을 적용한다.<br><br></div><div>- Dijkstra’s Algorithm<br><br></div><div>각 노드를 거칠 때 마다 topology와 cost를 계산해 최적 경로를 탐색. Shortest path algorithm<br><br></div><div>2) Distance vector routing<br><br></div><div>이웃 node와 data와 cost를 주고 받는다. 각자가 가지고 있는 routing table을 받는다. 단, router가 너무 많기 때문에 현실적인 한계가 존재. 이 문제를 해결하기 위한 방법으로 Hierarchical routing<br><br></div><div>&nbsp;<br><br></div><div>[CH 5-2. IP (Internet Protocol)<br><br></div><div>1. IP Addresses<br><br></div><div>크게 5개 classA~E로 구분. 최상위 비트를 다르게 부여해서 구분.<br><br></div><div>Net ID는 기관이 살 수 있는 class. Host ID는 기관 내에 있는 IP주소의 수.<br><br></div><div>- subnet Addressing : Host ID의 address에서 쪼개서 만든 ID로, 비상용 address라고 생각하면 됌.<br><br></div><div>- subnet mask :&nbsp;<br><br></div><div>문제는 IP address가 부족하다. à 새로운 IP 버전을 개발. 하지만 CIDR(Classless Inter-Domain Routing) : 각 Class에 따라 낭비되는 Host ID address를 예방하고자, 32bit 중 network가 차지한 bit를 제외한 bit를 모두 host part에 분배. 그 결과, 다양한 크기로 host addresses를 줄 수 있다.&nbsp;<br><br></div><div>- DHCP (Dynamic Host Configuration Protocol) : 정규 IP Addresses가 아니라 임시 addresses를 받는 방식.<br><br></div><div>2. NAT (Network Address Translation)<br><br></div><div>- Router가 본인에게 연결된 device에 addresses를 할당.&nbsp;<br><br></div><div>3. IP (Internet Protocol)<br><br></div><div>-(p57) IP packet의 format은 20byte의 헤더, 그 뒤로 몇백몇천의 데이터.&nbsp;<br><br></div><div>- (p60) Internet = network of networks. 여러 network는 packet 사이즈가 다르기 때문에 서로 통신을 할 때면, packet을 쪼개야한다. 그것을 위해 Identification, Fragment Offset 등이 들어가야 한다.<br><br></div><div>- Time to Live(TtL)은 몇 번의 호흡을 거쳐 destination을 가는지 count하는 역할<br><br></div><div>&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>[CH 6. Transport Layer]<br><br></div><div>1. Transport layer protcols<br><br></div><div>- UDP : No ack, no retransmission. 털털<br><br></div><div>- TCP : Reliable, 깐깐<br><br></div><div>1.1. UDP (user Datagram Protocol)<br><br></div><div>- No frills / best effort / connectionless / often used for<br><br></div><div>- hear size가 8byte<br><br></div><div>1.2. TCP (Transmission Control Protocol)<br><br></div><div>- Congestion control : sender가 보낸 데이터가 도착하지 않았을 때 할 행동<br><br></div><div>- End-to-end Flow Control : sender와 receiver 사이에 받는 속도 조절을 위함<br><br></div><div>- Error Control<br><br></div><div>1.2.1. TCP Flow control<br><br></div><div>sender는 빠르고, receiver는 느리다고 가정. 속도 조절이 필요. Receiver가 데이터를 받고 ACK를 보낼 때, spare room (memory space) 정보를 함께 보내면 속도 조절이 가능.<br><br></div><div>- Stop-and-wait flow control : 보내고, 잘받았어~, 보내고, 잘받았어~ à 시간효율에서 떨어짐.<br><br></div><div>- Sliding window flow control : 여러 개를 보내고, 올 때마다 더 보내는 방식. Window 사이즈는&nbsp;<br><br></div><div>&nbsp;<br><br></div><div>1.2.2. Error Control<br><br></div><div>- ARQ (Automatic Repeat reQuest)<br><br></div><div>- Classification<br><br></div><div>- Stop-and-wait ARQ<br><br></div><div>ACK가 오지 않을 때 영원히 기다리는 문제를 해결하기 위해 Timeout을 도입. Timeout은 ACK올 때까지 만큼 충분히 커야한다.<br><br></div><div>만약 ACK packet이 사라진 경우는, sender에서 “너 ACK 안보냈어!”라고 말해준다.<br><br></div><div>- Go-Back-N ARQ<br><br></div><div>에러가 나면, time-out하고 그 때로 돌아가서 그때부터 나머지 데이터를 보내는 방식. 만약, 중간 packet만 받지 못했다면?<br><br></div><div>1.3. TCP Congestion Control<br><br></div><div>유선을 기반으로 만들었기 때문에, trafic이 넘치면 router에 문제가 생긴다.<br><br></div><div>&nbsp;<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 14:30:16 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345240355</guid>
      </item>
      <item>
         <title>A1 박민지</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345243339</link>
         <description><![CDATA[<div>5장 Newtwork Layer<br><br>forwarding: ex hearder(01110)을 받아서 outputlink로 전달<br>routing: 주소를 보고 어디로 보낼지 결정<br>* 라우팅테이블을 잘만들어야 header가 정보를 잘 전달함.<br><br>Taxonomy of Networks<br>1. couumunication networkds( circuit-swithced networks vs Packet_switched networks)<br><br>Circuit switching(유선 전화망 process)<br>미리 회선 circuit을 포항에서 수원까지 연결하면 미리 회선을 만들어 연결함. 통화후 회선을 끊음.&nbsp;<br>장점&gt; 회선 circuit이 예약되므로 실시간으로 오랜시간 통화시 유리함.<br>단점&gt; 비효율적인 채널 수용력<br><br>Message Switching<br>circuit을 만들거나 끊는 것없이 바로 보내는 것<br>- Packet switching: Message switching의 일부<br>메세지를 여러 packet으로 잘라서 메세지 전달<br>* 경로가 독자적이므로 나뉘어진 pakcet이 한 path가 막혔을 때, 다른 경로로 이동할 경우 도착 순서가 원래 분할한 packet순서와 다를수있지만 문제가 없음. 순서를 재배열해서 올바른 packet의 배열을 재정립하기때문임.<br><br>Effect of packet size on transmission time<br>10배만크의 헤더 발생시 파이프라이닝이 너무 커지면 data size와 header size가 비슷해지므로 오버헤드가 발생해 오히려 효율이 떨어짐.<br><br>Routing Algorithms: 라우팅 테이블 형성 방법<br>-최적 경로 파악 방법<br>각각의 노드가 자신의 이웃 경로와 코스트를 알면 그 연결된 노드들을 이어 결국엔 똑같은 topology<br><br>Dijkstar's Algorithm<br>모든 로드를 잇는 방법:&nbsp;<br>연결된 cost의 역계산의 합계와 이전에 배당된 코스트값과 비교해 노드 경로를 찾음.<br><br>Bellman-Ford Algorithm<br>한 점의 이웃하고만 주고 받음.&nbsp;<br>연결된 경로와 이어지는 가장 짦은 경로를 지정해 Outgoing Link와 New delay를 이용해 라우팅 테이블을 생성함.&nbsp;<br><br>Hierarchical routing<br>autonomous systems: 대표 라우터를 이용해 Region으로 가고 이동.&nbsp;<br>* 원래 만든 라우팅 테이블을 대표 라우팅 테이블로 표현한다고 생각하면 됨.<br><br>Internet Protocol<br>Class B( [0,1,NetID(14)] = 16bit, Host ID(16))을 많이 사용함(포항공대도 이를 사용.)<br>&nbsp;_ Subnet Addressing:&nbsp; Host ID를 두개로 분할해 사용함&nbsp;<br>IP의 문제<br>32bit 기반 주소 체계여서, class별 세분화가 되어있지 않음<br>&gt;해결방식: CIDR(기존 class pool의 A,B,C,D,E가 아닌 더 세부 표현법으로, prefix length를 제외한 32-prefix length부분을 host할당을 주어 class를 더욱 세분화 함)<br>ex) class B와 class C사이에 /24,/22,/20,..에 값을 두고 이후 값에 0을 두어 host address를 심어 값을 세분화함.&nbsp;<br><br>Dynamic Host Configuration Protocol<br>정규 IP를 사용하는 것이 아닌 일정만 IP를 빌려쓰고 반납함.<br>*NAT: 공적으로 할당받은 IP외에 사적으로 할당된 IP주소를 만들어 라우터를 통해 사적이 IP를 공적으로 IP를 변환하고 사적인 IP를 공적으로 변환해 일시적인 IP를 받아 IP address문제를 해결함.<br><br>Transport Layer: packet이 잘 도착했는지를 판별<br>* traffic종류에 따라 나뉨<br><br>-UCP: 하는일이 없어서 간단하며 목소리가 조금 흔들리거나 화질이 저하되는등 전달이 나이브하게 판별<br><br>TCP:철저하게 reliable<br>1. conjection control:<br>라우터에 많은 packet이 들어왔을 때 output의 속도가 느려 packet lost가 발생하면 window size를 조절함으로 conjection을 조절함.<br><br>2. TCP flow control<br>sender와 receiver의 처리속도 차이로 sender가 Ack를 제대로 처맇자미 못할때 하나보내고하나 받았음을 표하는 stop-and-wait를 사용하거나 윈도우 사이즈만큼 보내어 속도 차이 조절<br><br>3. Error control<br>pakcet lost나 Ack 패킷이 안왔을 때&nbsp; timeout을 두어 error을 탐지해 다시 packet을 보내어 packet의 lost문제를 해결하거나 Ack을 받음&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 14:31:48 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345243339</guid>
      </item>
      <item>
         <title>A4 이정균</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345243853</link>
         <description><![CDATA[<div><br>nerwork layer</div><div>발신자 보내는 데이터를 안전하게 수신자에게 보내주는 역할을 함</div><div>데이터에 헤드를 붙임, ip address</div><div>&nbsp; &nbsp;</div><div>nerwork layer fuction</div><div>1.Forwarding 데이터를 입력측에서 받아서 출력 측에 보내는 행위</div><div>2.Routing 데이터의 주소를 보고 어디로 보내는 지 판단하는 행위</div><div>&nbsp; &nbsp;</div><div>communication networks</div><div>1.circuit switched networks&nbsp;</div><div>예약을 하고 데이터를 보낼 수 있을 때 보내고 통신을 끊는 행위</div><div>장점 예약을 함으로써 real time으로 오랜시간 통신가능, 딜레이도 없다</div><div>단점 채널의 낭비가 있다</div><div>2.Packet switched networks(message switching 의 일부)</div><div>한 메시지를 나눠서 보낸다&nbsp;</div><div>데이터를 packet단위로 쪼개서 보낸다</div><div>각각 헤더가 붙기 때문에 많이 분리하면 오히려 시간이 증가한다</div><div>&nbsp; &nbsp;</div><div>Routing table&nbsp;</div><div>헤더에 들어간 수가 어디로 보낼지 나타내는 테이블</div><div>&nbsp; &nbsp;</div><div>Routing algorithms 중요!!</div><div>Routing table을 만드는 알고리즘, router가 계산해서 최적으로 거리를 산출</div><div>1.link routing algorithms&nbsp;</div><div>각각의 노드가 주위의 노드와 코스트를 안다,&nbsp;</div><div>dijstra's Algorithm</div><div><br>hierarchial routing= 많은 라우터중 축소하여 대표 라운터 선정<br>&nbsp;<br>hierarchical routing</div><div>대표 라우팅 테이블을 만들고 각 라우팅테이블 끼리 라우팅 테이블을 만든다</div><div>&nbsp; &nbsp;</div><div>ip(internet protocol)</div><div>ip addresses - 32bit address</div><div>host , ID&nbsp;</div><div>class ABCDE로 나눠짐</div><div><br></div><div>ip address= net id, host id<br>ip address 종류 =class A,B,C,D,E<br>A= Net Id=7 Host Id=24<br>b= Net Id=14 Host Id=16<br>c= Net Id=21 Host Id=8<br>d= multicastaddress<br>e= teserved for future<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 14:32:03 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345243853</guid>
      </item>
      <item>
         <title>C3 신주연</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345257888</link>
         <description><![CDATA[<div>5-1장. Network layer &amp; IP</div><div>Network Layer 역할</div><div>-&gt;sender가 보낸 데이터를 receiver측에 안전하고 제대로 전달하게 만듬.</div><div>-&gt;네트워크 계층에서는 주로 IP가 이런 일을 함.</div><div>-패킷이라는 데이터를 보낼 때마다 헤더에 IP adress를 써서 보냄.</div><div>&nbsp; &nbsp;</div><div>Network Layer의 기능</div><div>-입력층에서 받아서 출력층으로 보냄.</div><div>forwarding:라우터로부터 라우터로 보내는 행위&nbsp;</div><div>routing:어느 곳으로 보낼지 주소를 보고 판단하는 행위</div><div>&nbsp; &nbsp;</div><div>네트워크의 분류</div><div>1.Circuit-switched networks(유선 전화망)</div><div>-옛날 전화방식</div><div>&nbsp; &nbsp;</div><div>Circuit Switching이란?</div><div>-회선을 미리 예약함,예약이 완성되면 통화하고 끝나면 회선 취소</div><div>순서:Circuit establishment-&gt;Data transfer-&gt;circuit termination</div><div>장점:circuit이 예약되기 땜에 real time 좋고 delay 없음</div><div>단점:채널 낭비 심함.</div><div>&nbsp; &nbsp;</div><div>2.packet-switched networks(컴퓨터 통신망에서 쓰는 방법)</div><div>packet swithcing이란?</div><div>-메세지 스위칭의 일부</div><div>-미리 커넥션 없이 메세지를 보낼 때 일부를 잘라서 보냄</div><div>문제점:순서가 엉망일 수도(라우터가 다른 방향을 알려주기 때문)-&gt;하지만 문제가 되진 않는다 받을 때는 순서를 재정비해서 알아서 행함.많이 쪼개면 header낭비</div><div><strong>Routing Algorithms-&gt;Routing table을 만드는 방법</strong></div><div>-각자 스스로 계산하는 알고리즘</div><div>종류 2가지&nbsp;</div><div>1.Link State routing</div><div>각각의 노드가 자기 이웃 정보를 공유함</div><div>모든 노드가 똑같은 topology그림을 암.</div><div>각각의 노드가 dijstra’s Algorithm을 돌림</div><div>&nbsp; &nbsp;</div><div><strong>Dijkstra’s Algorithm</strong></div><div>-shortest cost를 고름&nbsp;</div><div>&nbsp; &nbsp;</div><div>2.Distance vector routing</div><div>ex)Bellman-Ford Algorithm</div><div>-&gt;자기의 이웃하고만 데이터를 주고 받음</div><div>-&gt;이웃한 노드로부터 이웃들의 라우팅 테이블을 받고 이웃에 가서 가는 방법 계산</div><div>&nbsp; &nbsp;</div><div>Hierarchical routing</div><div>즉,autonomous system에서 대표 라우터들끼리 라우팅 테이블을 주고받아 테이블 만들고 내부 라우터들끼리 라우팅 테이블을 주고받아서 만들자.</div><div>&nbsp; &nbsp;</div><div>5-2장.IP(Internet Prococol)</div><div>&nbsp; &nbsp;</div><div>IP addresses</div><div>-버전4(32bit)</div><div>-단말인지를 알 수 있음</div><div>-클래스 5가지로 구성(Class A~E)</div><div>-class는 0또는 1의 배열과 Net ID(기업,기관의 ID)와 Host ID로 구성</div><div>-&gt;Net ID는 숫자가 많을수록 많은 기관이 살 수 있음,하지만 host ID의 비트수가 적어지므로 적절한 수로 구성된 class B가 인기가 가장 많다.</div><div>&nbsp; &nbsp;</div><div>Subnet Addressing</div><div>:class의 host ID부분을 세부 네트워크로 쪼개씀-&gt;효율성을 위해</div><div>&nbsp; &nbsp;</div><div>subnet mask-&gt;뒷 부분을 몇비트로 쪼개야하는지 알게함.</div><div>&nbsp; &nbsp;</div><div>problems of IP address scheme(class-ful addresses)</div><div>-&gt;인기가 너무 많아서 주소 고갈</div><div>이를 극복하기 위해 Long term solution(ipv6)와 short term solution(CIDR)</div><div>&nbsp; &nbsp;</div><div>CIDR(Classless Inter-Domain Routing)</div><div>-기존의 class-ful이 아니라 /숫자를 붙여서 network부분을 알려주고 나머지 비트가 host 비트인 것을 알려주는 방식</div><div>&nbsp; &nbsp;</div><div>IP address를 어떻게 할당하는가?</div><div>1.매뉴얼로 할당하는 방식</div><div>2.DHCP-임시 ip adress를 쓰고 다시 반납하는 방식</div><div>&nbsp; &nbsp;</div><div><strong>NAT(Network Address Translation)</strong></div><div>-IP address의 부족성을 해결하는 방법</div><div>-하나의 ip address로 많은 네트워크를 할당받는 방법</div><div>-라우터가 NAT translation table을 사용하여 sender의 ip를 공적 ip로 전환함&nbsp;</div><div>&nbsp; &nbsp;</div><div>-IP의 버전은 4</div><div>-IP header의 Time to Live(TTL)는 라우터를 거칠 때마다 숫자가 하나가 줄어듬.즉,몇 번을 거쳐서 가는지 확인 가능&nbsp;</div><div>&nbsp; &nbsp;</div><div>6장.Transport Layer</div><div>Transport layer protocols</div><div>-TCP(Transmission Control Protocol)</div><div>-UDP(User Datagram Protocol)</div><div>&nbsp; &nbsp;</div><div>UDP(털털한 프로토콜)</div><div>-기본적인 골격의 전송 프로토콜</div><div>-전달 안되어도 노상관</div><div>-sender,receiver가 그냥 보내버리는 프로토콜</div><div>-멀티미디어 어플리케이션에서 스트리밍할 때 씀</div><div>-8바이트의 간단한 프로토콜</div><div>&nbsp; &nbsp;</div><div>TCP 기능</div><div><strong>1.혼잡제어(Congestion Control)</strong></div><div><strong>-TCP congestion Control을 만들어 놓음</strong></div><div>하지만 유선네트워크에서의 혼잡만 생각하여 오류 상황이 라우터때문이라고만 생각함</div><div>그래서 packet loss를 푸는 방법을 만듬</div><div><strong>1.time out</strong></div><div>잘 오면 window size를 키움 2의 엔승씩</div><div>ack이 오지 않으면 값을 반으로 줄이고 다시 linear하게 증가(slow start)</div><div>window가 0</div><div><strong>&nbsp; &nbsp;</strong></div><div><strong>2.test transmit</strong></div><div><em>엄청난 혼잡상황은 아니라고 판단하여 window수를 현재 값 반으로(after 3 dupack)&nbsp;</em></div><div><em>&nbsp; &nbsp;</em></div><div><strong>2.Flow Control</strong></div><div>-sender와 receiver사이의 속도 제어&nbsp;</div><div>-잘 받으면 ack를 보냄</div><div>보내는 방식</div><div>2-1.Stop and wait flow control</div><div>-보낸 다음 ack를 기다림&nbsp;</div><div>-비효율적임</div><div>&nbsp; &nbsp;</div><div>2-2.Sliding-window flow control</div><div>*pipelining:여러 개를 보내고 올 때마다 하나식 더 보내는 방식</div><div>-window size가 오른쪽으로 움직임&nbsp;</div><div>-여러 패킷을 보내고 ack받는 대로 오른쪽으로 이동</div><div>#윈도우 사이즈는 receiver의 ack에 들어있는 윈도우 사이즈와 비교해서 작은 걸로 선택</div><div><strong>&nbsp; &nbsp;</strong></div><div><strong>3.Error control</strong></div><div>방식&nbsp;</div><div>1.Stop-and wait ARQ</div><div>-ack를 받지 못하면 무작정 기다리는 것을 방지하기 위해 timeout을 둠</div><div>-ack패킷이 사라지면 데이터를 한번 더 받게 되니까 다시 ack을 보냄</div><div>&nbsp; &nbsp;</div><div>2.continuous ARQ</div><div>2-1.Go-Back-N(sliding window방식)</div><div>-데이터가 오지 않으면 그 전의 번호로 돌아가서 다 보내는 방식</div><div>-ack가 사라지면 그 전까지 잘 받았다고 생각함(ACKS are cumulative)</div><div>&nbsp; &nbsp;</div><div>2-2.Selective repeat request</div><div>&nbsp; &nbsp;</div><div>TCP segment Format</div><div>-20bit</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-18 14:39:10 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2345257888</guid>
      </item>
      <item>
         <title>C4 김우영</title>
         <author></author>
         <link>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2346229546</link>
         <description><![CDATA[<div>Chap 5. Network Layer &amp; IP</div><div>&nbsp; &nbsp;</div><div>Network Layer Services</div><div><br></div><div>ip adress를 붙여서 전달함.</div><div>송신 -&gt; 패킷 -&gt; 라우터 -&gt; 라우터 -&gt; 라우터 -&gt; 수신</div><div>&nbsp; &nbsp;</div><div>ip adress를 보고 어디를 가야 될지 정함</div><div>-&gt; 이걸 Routing 이라고 함.</div><div><br></div><div>0111을 받아서 라우터를 통해 전달하는 행위를 forwarding 이라고 함.</div><div>&nbsp; &nbsp;</div><div>Circuit switching</div><div><br></div><div><br></div><div>Circuit switching : 서킷을 만들고, 데이터를 전달하고, 서킷을 끊는 행위</div><div>장점 : 오랜시간 사용할 때, 딜레이가 없음.</div><div>단점 : 채널의 낭비</div><div>&nbsp; &nbsp;</div><div>Message switching</div><div>Packet switching : 하나의 데이터를 여러개의 패킷으로 쪼개서 보내는 방법.</div><div><br></div><div>패킷 스위칭의 특징 : 순서가 다를 순 있으나 문제없음.</div><div><br></div><div>Message switching : 서킷 스위칭의 초록색 부분 없이 바로 보냄. -&gt; 더 좋음, but 메시지가 길어지면 시간이 오래걸린다는 단점이 있음.</div><div><br></div><div>패킷 스위칭은 패킷을 쪼개서 보내기 때문에 메시지 스위칭보다 전달 속도 훨씬 빠름.</div><div><br></div><div>a)는 기존 메시지 스위칭, 그림을 보면 헤더의 낭비도 있음 -&gt; 무조건 많이 쪼갠다고 좋은건 아님. c,d 그림 d가 더 느림.</div><div>&nbsp; &nbsp;</div><div>각각의 라우터에는 라우팅 테이블이 필요</div><div>-&gt; 라우팅 테이블을 잘 만들면 속도 향상 가능(중요!!!!)</div><div>&nbsp; &nbsp;</div><div><br></div><div>질문 : A-&gt;F로 갈 수 있는 경로?</div><div>&nbsp; &nbsp;</div><div>Link State routing algorithm</div><div>Djkstra’s Algorithm(디스 알고리즘)</div><div><br></div><div><br></div><div>A에서 출발할 때, 각각의 코스트가 주어졌을 때, A에서 각 라우터에 갈 수 있는 최적의 경로 구하는 방법</div><div>&nbsp; &nbsp;</div><div>D(해당) = 해당 라우터에 갈 때 드는 코스트</div><div>p(해당) = 어디서 출발 하는지</div><div>처음엔 A에서 갈 수 있는 라우터에 값을 구함 이후 동일</div><div>&nbsp; &nbsp;</div><div><br></div><div>step0 가 끝나면 step1 시작은 cost가 가장 적은 경로로 시작 AD</div><div>=&gt; 이후 코스트가 전보다 큰건 쓸필요없음.(그래서 B는 안씀)</div><div>&nbsp; &nbsp;</div><div>코스트는 전 꺼 + ex AD D(C),p(C) 는 4, D(1+3)</div><div>&nbsp; &nbsp;</div><div>코스트가 같을 경우 둘 중 하나 택</div><div>&nbsp; &nbsp;</div><div>마지막에 모든 경우의 수가 끝나면 테이블에 적힌 코스트가 가장 작은 경로가 최적의 경로가 됨.</div><div>&nbsp; &nbsp;</div><div><br></div><div>Distance vector routing</div><div><br></div><div>최적 경로 탐색 방법</div><div>ex) J에서 B로 갈 때&nbsp;</div><div>J-&gt;A = 8, A-&gt;B = 12 ==&gt; 20</div><div>J-&gt;I = 10, I-&gt;B = 36 ==&gt; 46</div><div>J-&gt;H = 12, H-&gt;B = 31 ==&gt; 43</div><div>J-&gt;K = 6, K-&gt;B = 28 ==&gt; 34 따라서 A로 가는게 제일 빠름&nbsp;</div><div><br></div><div>이렇게 테이블을 만들 수 있음.</div><div><br></div><div>실제로는 이렇게 씀.</div><div>전체를 만들지 않고, Hierarchical table 작성 region으로 가는 hierarchical 테이블 만들고 내부에서 전체 테이블 사용</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-10-19 02:27:01 UTC</pubDate>
         <guid>https://padlet.com/kimhyojin2/q8w29q9idadzwin2/wish/2346229546</guid>
      </item>
   </channel>
</rss>
