<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jje_hn.log</title>
        <link>https://velog.io/</link>
        <description>뿡</description>
        <lastBuildDate>Fri, 13 Sep 2024 01:53:03 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jje_hn.log</title>
            <url>https://velog.velcdn.com/images/jje_hn/profile/311f87f2-4bd9-4628-bced-d5bd87663d24/social_profile.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jje_hn.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jje_hn" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[컴퓨터 통신] L4 Transport Layer_3]]></title>
            <link>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L4-Transport-Layer3</link>
            <guid>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L4-Transport-Layer3</guid>
            <pubDate>Fri, 13 Sep 2024 01:53:03 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jje_hn/post/b83e7c58-dd85-40e8-9ba5-af061eceea01/image.jpeg" alt=""></p>
<p>햄드네요</p>
<hr>
<br>

<h2 id="go-back-n-protocol">Go-Back-N Protocol</h2>
<p><strong>Go-Back-N vs. Stop-and-Wait</strong></p>
<ul>
<li><p>What&#39;s the difference?</p>
<ul>
<li>Sliding window size! → multiple packet transmission is considered
<img src="https://velog.velcdn.com/images/jje_hn/post/b2b71190-b036-49a2-8e09-a1c43883b29c/image.png" alt=""></li>
<li>Tx: m-bit window</li>
<li>Rx: 1-bit window</li>
<li>The sequence numbers are modulo 2^m, where m is the size of the sequence num field in bits.</li>
<li>The acknowledgment number is cumulative and defines the sequnce num of the next packet expected to arrive.</li>
<li>The send window is a box of maximum size = 2^m - 1 with three variables: Sf, Sn and Ssize</li>
<li>If m = 3
<img src="https://velog.velcdn.com/images/jje_hn/post/c7a54276-2115-487c-8f43-ee846613e47e/image.png" alt=""></li>
<li>The send window can slide on or more slots when an error-free ACK with ackNo between Sf and Sn arrives.
<img src="https://velog.velcdn.com/images/jje_hn/post/41fc976f-2c55-4387-a52a-108eddc42226/image.png" alt=""></li>
<li>Rx size: 1
<img src="https://velog.velcdn.com/images/jje_hn/post/614584f1-70c1-43c6-8e37-2a0a4f534591/image.png" alt=""></li>
<li>When timer expires, all un acked packets are re-transmitted.<ul>
<li>ex) 송신측에서 packet 6(Sn=7) 전송했지만, 타이머 만료</li>
<li>만일 Sf=3이면, packet 3, packet 4, packet 5, packet 6 이 4개의 패킷이 un-acked packet이 됨</li>
<li>타이머 만료되었으므로 송신측은 packet 3~6까지 4개의 packet 재전송</li>
<li>Go-back-N인 이유</li>
</ul>
</li>
</ul>
<br>
</li>
<li><p>FSM for Go-Back-N
<img src="https://velog.velcdn.com/images/jje_hn/post/25d52de8-7e0a-4732-84be-47dc0e92466b/image.png" alt=""></p>
</li>
<li><p>Send window size for Go-Back-N</p>
<ul>
<li>Go-Back-N 프로토콜에서 송신 윈도우의 크기는 2^m보다 작아야 한다.</li>
<li>수신 윈도우의 크기는 항상 1이다.
<img src="https://velog.velcdn.com/images/jje_hn/post/ec6066e6-5f2f-4db4-8ae6-e827d798fce6/image.png" alt=""></li>
</ul>
</li>
</ul>
<br>

<ul>
<li>Example: When some ACKs are lost
<img src="https://velog.velcdn.com/images/jje_hn/post/0b9fd206-b3c6-4fba-9a43-ffd0158ce19b/image.png" alt=""></li>
<li>Example: When some packets are lost
<img src="https://velog.velcdn.com/images/jje_hn/post/464a739a-2c22-4522-9c3e-d3322a4f43e5/image.png" alt=""></li>
</ul>
<br>

<ul>
<li>Inefficiency<ul>
<li>Inefficient retransmission occurs even when some packets are successfully received.</li>
<li>Why? Rx is too simple: Rx window size = 1 !!</li>
<li>Solution? Use longer R → Selective-Repeat Protocol!</li>
</ul>
</li>
</ul>
<br>

<h2 id="selective-repeat-protocol">Selective-Repeat Protocol</h2>
<ul>
<li>Selective + Repeat
<img src="https://velog.velcdn.com/images/jje_hn/post/28e2c2a0-f8c7-43b0-80aa-5862390cc45a/image.png" alt=""></li>
<li>Window size<ul>
<li>Tx: 2^(m-1)<ul>
<li>If m=4, max window size=8</li>
</ul>
</li>
<li>Rx: 2^(m-1)</li>
</ul>
</li>
<li>Rx window<ul>
<li>Buffer to store the information of out-of-order packets
<img src="https://velog.velcdn.com/images/jje_hn/post/261bef6f-4b29-41e1-8cb6-4ab1f2de0d1d/image.png" alt=""></li>
</ul>
</li>
</ul>
<br>

<ul>
<li>Timer<ul>
<li>이론상, Selective-Repeat에서는 아직 처리되지 않은 각각의 packet마다 타이머를 사용 (타이머 만료되면 재전송)</li>
<li>Go-Back-N은 처리되지 않은 패킷을 그룹으로 묶어 처리 but Selective-Repeat은 독립적으로 처리</li>
</ul>
</li>
<li>Acknowledgments<ul>
<li>Go-Back-N에서 AckNo는 누적, 이 번호 이전의 모든 패킷들은 이상없이 도착했음을 의미</li>
<li>Selective-Repeat에서 AckNo는 오류 없이 수신된 <strong>하나의 패킷 seqNo</strong><ul>
<li>다른 패킷에 대해 어떤 피드백도 제공 x</li>
</ul>
</li>
</ul>
</li>
</ul>
<br>

<ul>
<li>Example) 송신 측에서 패킷 0, 1, 2, 3, 4, 5 까지 6개의 패킷을 전송했다. 송신측이 ackNo = 3의 ACK를 수신했다. 시스템이 GBN 또는 SR을 사용하는 경우에 ACK 수신은 각각 무엇을 의미하는가?<ul>
<li>GBN의 경우 패킷 0, 1, 2가 훼손되지 않고 잘 수신되었다는 것과 수신 측에서 패킷 3의 수신을 기다리고 있다는 것을 의미</li>
<li>SR의 경우 패킷 3이 훼손되지 않고 잘 도착했다는 것을 의미, 다른 패킷에 대한 정보는 없다.</li>
</ul>
</li>
</ul>
<br>

<ul>
<li>FSM for Selective-Repeat
<img src="https://velog.velcdn.com/images/jje_hn/post/45d8e386-e77f-46f4-a3b0-6539eb74e0ed/image.png" alt=""></li>
</ul>
<br>

<hr>
<br>
글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.]]></description>
        </item>
        <item>
            <title><![CDATA[[컴퓨터 통신] L4 Transport Layer_2]]></title>
            <link>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L4-Transport-Layer2</link>
            <guid>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L4-Transport-Layer2</guid>
            <pubDate>Fri, 06 Sep 2024 01:04:17 GMT</pubDate>
            <description><![CDATA[<p>No jam</p>
<hr>
<br>

<h2 id="transport-layer-protocols">Transport Layer Protocols</h2>
<ul>
<li>Simple Protocol</li>
<li>Stop-and-Wait Protocol</li>
<li>Go-Back-N Protocol</li>
<li>Selective-Repeat Protpcol</li>
<li>Bidirectional Protocols: Piggybacking<br>

</li>
</ul>
<h2 id="simple-protocol">Simple Protocol</h2>
<ul>
<li>Simple and Connectionless protocol</li>
<li><strong>Flow, Error control 없음!!</strong>
<img src="https://velog.velcdn.com/images/jje_hn/post/1cee2a9a-d4a0-458b-9c11-09193068cd2c/image.png" alt=""></li>
<li>Receiver can immediately handle any frame it receives.</li>
</ul>
<p><strong>FSM for the simple protocol</strong>
<img src="https://velog.velcdn.com/images/jje_hn/post/2561fde1-5e37-4174-9df0-d650b09ab606/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/42be8c41-5ff9-4621-8f09-c0d238d8aca1/image.png" alt=""></p>
<ul>
<li>Sender sends packets <strong>without thinking about the receiver</strong><br>

</li>
</ul>
<h2 id="stop-and-wait-protocol">Stop-and-Wait Protocol</h2>
<ul>
<li><p>Connection-oriented protocol
<img src="https://velog.velcdn.com/images/jje_hn/post/aa0244df-8aed-48c2-82db-9544bc731836/image.png" alt=""></p>
</li>
<li><p>Sliding window size: 1</p>
</li>
<li><p>Flow control is achieved</p>
<ul>
<li>By forcing the sender to wait for an acknowledgment</li>
<li>일반적인 Flow control 방법: Buffer</li>
<li>Stop-and-Wait의 buffer size: 1</li>
</ul>
</li>
<li><p>Error control is achieved</p>
<ul>
<li>By discarding corrupted packets and <strong>letting the sender resend unacknowledged packets when the timer expires</strong></li>
<li>Error control을 위해 사용하는 번호: Sequence Number</li>
<li>Stop-and-Wait에서는 <strong>1 bit field</strong>를 sequence num 저장하기 위해 사용<ul>
<li>m=1 → sequence numbers: modulo 2 (0 or 1)</li>
<li>the ack num always announces in modulo-2 the seq num of the next packet expected
<img src="https://velog.velcdn.com/images/jje_hn/post/9f55b8d7-c7a0-4a9b-b636-4baef128b540/image.png" alt=""></li>
</ul>
</li>
<li>All calculation in the Stop-and Wait protocol is in modulo 2</li>
</ul>
</li>
<li><p><em>FSM for the stop-and-wait protocol*</em>
<img src="https://velog.velcdn.com/images/jje_hn/post/a2486a84-31eb-4e52-ac46-35b285bca57e/image.png" alt=""></p>
</li>
<li><p>Example
<img src="https://velog.velcdn.com/images/jje_hn/post/3b3ca7d3-5731-4890-bdc8-dab1a317dc06/image.png" alt=""></p>
</li>
<li><p>Inefficient</p>
<ul>
<li><p>Lost Data
<img src="https://velog.velcdn.com/images/jje_hn/post/e6e82fcd-b862-4484-a8f6-d0ea87f51e05/image.png" alt=""></p>
</li>
<li><p>Lost Ack
<img src="https://velog.velcdn.com/images/jje_hn/post/ee7f42b8-2d4d-4f0e-a8c1-a801b417dcd7/image.png" alt=""></p>
</li>
<li><p>Delayed Ack/Data</p>
</li>
</ul>
</li>
<li><p>Bandwidth-delay product</p>
<ul>
<li>Channel: pipe</li>
<li>Bandwidth-delay product: pipe capacity</li>
<li>e.g.) bandwidth: 1Mbps, delay: 20msec 일때 Bandwidth-delay product: (1<em>10^6)</em>(20*10^-3) = 20,000 bit</li>
</ul>
</li>
<li><p><em>Example</em></p>
<ul>
<li><p>In a Stop-and-Wait system, the bandwidth of the line is 1Mbps, and 1 bit takes 20msec to make a round trip. What is the <strong>bandwidth-delay product</strong>? If the system sends one packet (1,000 bits in length), what is the utilization percentage of the link?
<strong>1,000 bits / 20,000 bits = 5% (Too low!)</strong></p>
</li>
<li><p>What is the <strong>maximal utilization percentage</strong> of the above link if we have a protocol that can send up to 15 packets before stopping and worrying about the acknowledgments?</p>
</li>
<li><p><em>15,000 bits / 20,000 bits = 75%*</em></p>
</li>
</ul>
</li>
<li><p>So, sneding up to multiple packets are more efficient!</p>
</li>
</ul>
<br>

<hr>
<br>

<p>글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[컴퓨터 통신] L4 Transport Layer]]></title>
            <link>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L4-Transport-Layer</link>
            <guid>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L4-Transport-Layer</guid>
            <pubDate>Tue, 27 Aug 2024 02:06:08 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jje_hn/post/3a6038c3-d65d-4bcb-a0ba-5b0d855ff576/image.png" alt="">
웩</p>
<hr>
<h3 id="logical-connection">Logical connection</h3>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/8124502d-5344-433b-8c5a-2f53eec135f9/image.png" alt=""></p>
<h2 id="process-to-process">Process-to-Process</h2>
<ul>
<li>It provides a <strong>process-to-process communication</strong> between two application layers, one at the local host and the other at the remote host.</li>
<li>Communication is provided using a <strong>logical connection</strong>.
프로세스?🙄 → 실행중인 프로그램!😏</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/616281fc-a755-498c-9681-1fa0e4b247fb/image.png" alt="">
<br></p>
<h2 id="주소-체계-port-numbers">주소 체계: Port Numbers</h2>
<ul>
<li>전송계층에서 프로세스를 구분</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/c9e0a9ea-34c3-49b8-ac9d-4be39da9e226/image.png" alt=""></p>
<ul>
<li>데이터의 최종 목적지 선택에 있어 IP주소와 포트 번호는 역할이 다르다.<ul>
<li>IP: 전세계의 호스트 중 특정 호스트를 찾기 위해 사용</li>
<li>포트 번호: 특정 호스트 내에 있는 하나의 프로세스를 찾기 위해 사용</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/1eaad965-4868-428e-aa51-e4cf3fdd9b15/image.png" alt="">
<br></p>
<h2 id="icann-범위">ICANN 범위</h2>
<ul>
<li>ICANN (Internet Corporation for Assigned Names and Numbers)<ul>
<li>국제 인터넷 주소 관리 기구, 인터넷 도메인 관리와 정책을 결정</li>
</ul>
</li>
<li>Well-known ports<ul>
<li>ICANN에 의해 배정되고 제어</li>
</ul>
</li>
<li>Registered ports<ul>
<li>ICANN에 배정되거나 제어되지 않음, but 중복을 피하기 위해 등록될 수 있음</li>
</ul>
</li>
<li>Dynamic ports<ul>
<li>제어, 배정 x</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/11b9e2da-97a8-4c8c-add7-a30d9508e7d7/image.png" alt=""></p>
<ul>
<li>포트 번호 할당 확인
<a href="https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml">https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml</a></li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/26231861-b294-4d06-83ae-40afb0311b34/image.png" alt="">
<br></p>
<h2 id="socket-address">Socket address</h2>
<ul>
<li>전송 계층 프로토콜은 연결을 설정하기 위해 각 종단마다 IP 주소와 포트 번호가 필요</li>
<li>IP address + Port Number → Socket address!<ul>
<li>클라이언트 소켓 주소는 클라이언트 프로세스 유일하게 정의</li>
<li>서버 소켓 주소는 서버 프로세스 유일하게 정의</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/2aabba8d-618a-427c-9a57-26c1957dd23d/image.png" alt="">
<br></p>
<h2 id="encapsulation--decapsulation">Encapsulation &amp; Decapsulation</h2>
<ul>
<li>프로세스 간 통신을 위해 메세지를 캡슐화(Encapsulation), 역캡슐화(Decapsulation) 수행<ul>
<li>Sender: Encapsulation, Receiver: Decapsulation</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/39ffb6da-2471-4be4-8c39-ebe70297be6f/image.png" alt="">
<br></p>
<h2 id="multiplexing--demultiplexing">Multiplexing &amp; Demultiplexing</h2>
<ul>
<li>Multiplexing을 수행하는 device: Multiplexer (MUX)</li>
<li>Demultiplexing을 수행하는 device: Demultiplexer (DEMUX)</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/783fb77b-7390-4794-9372-e05958c9709c/image.png" alt="">
<br></p>
<h2 id="flow-control">Flow Control</h2>
<ul>
<li>Pushing<ul>
<li>Consumer로 부터 선 요구 없이, 정보가 생성될 때마다 정보 전달하는 경우</li>
</ul>
</li>
<li>Pulling<ul>
<li>Consumer가 요구한 경우에만 Producer가 정보를 전송하는 경우</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/5e6da22e-2b72-4324-9319-8e136eaa8b6e/image.png" alt=""></p>
<ul>
<li>Flow Control 예시</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/bceff4e9-3817-4c61-a38e-a1d640a0c56b/image.png" alt=""></p>
<ul>
<li>Flow Control 방법: Buffer<ul>
<li>송·수신 전송 계층의 버퍼 이용</li>
<li>버퍼? 송신측과 수신측에서 패킷을 저장할 수 있는 일련의 메모리 영역<br>
## Error Control</li>
</ul>
</li>
<li>Error Control<ul>
<li>L3 신뢰성 제공 x, L4에 오류 제어 서비스 추가해 신뢰성 제공</li>
</ul>
</li>
<li>제공 기능<ul>
<li>훼손된 패킷 감지 및 폐기</li>
<li>손실되거나 제거된 패킷 추적, 재전송</li>
<li>손실된 패킷이 도착할 때까지 순서 어긋난 패킷 버퍼에 저장</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/831af20f-39f8-41cf-9d93-5bae87223302/image.png" alt=""></p>
<ul>
<li><strong>Sequence Numbers</strong><ul>
<li>Sender L4: 어떤 패킷이 재전송되어야 하는지 알아야함</li>
<li>Receiver L4: 어떤 패킷이 중복되었는지 or 순서에 어긋나게 도착했는지 확인 가능해야함.
→ 패킷의 순서 번호(Sequence Number) 저장할 수 있도록 L4 패킷에 한 필드 추가</li>
<li>헤더 안에 각 패킷의 순서 번호를 포함하기 위해서는 최대값이 설정되어야함<ul>
<li>if) 패킷의 헤더에 sequence num을 위해 m비트가 설정, <strong>sequence num은 0~2^m-1 값의 범위</strong>를 가진다.</li>
<li>if) m=4 이면 sequence num은 0 ~ 15 사이의 값</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="background-color:#E6E6FA"> For error control, the sequence numbers are modulo 2^m, where m is the size of the sequence number field in bits </span></p>
<ul>
<li>Acknowledgment<ul>
<li>확인 응답</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/94c20ba7-15b4-4d1c-b36b-51063e36297c/image.png" alt="">
<br></p>
<h2 id="flow-control--error-control">Flow Control + Error Control</h2>
<ul>
<li>Sliding Window<ul>
<li>Sequence Num이 modulo2^m 이기 때문에 0 ~ 2^m-1까지의 sequence num을 원/선형 표현</li>
<li>윈도우의 모든 조각이 채워지면, 버퍼가 다 차서 더이상의 메세지 수신 불가함 (Sender)</li>
<li>Ack 수신되면 윈도우 범위를 미끄러지듯 돌림</li>
</ul>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/7c594af2-958c-49b9-b7ca-0d0b196f1008/image.png" alt=""></p>
<p>△ Sliding Window in circular format</p>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/c686931c-d3fa-42eb-baec-cdd788c30394/image.png" alt="">
△ Sliding Window in linear format
<br></p>
<h2 id="congestion-control">Congestion Control</h2>
<ul>
<li>Congestion<ul>
<li>네트워크로 전송되는 패킷 수가 네트워크에서 처리할 수 있는 용량을 초과하는 경우 혼잡 발생</li>
</ul>
</li>
<li>Congestion Control<ul>
<li>혼잡을 제저하고 로드가 용량보다 작도록 하기 위한 기술</li>
</ul>
</li>
<li>왜 발생하나요? 😕<ul>
<li>네트워크에서 혼잡은 라우터나 스위치가 패킷을 저장하기 위한 버퍼인 큐를 가지고 있기 때문에 발생</li>
</ul>
</li>
</ul>
<p><span style="color:yellowgreen"> 예를 들어, 라우터는 각각 인터페이스에 입출력 큐를 가지고 있음. 라우터에 도착하는 패킷들을 처리할 수 없으면 큐는 과부하가 되며 혼잡이 발생. </span>
<br></p>
<h2 id="connectionless-service">Connectionless Service</h2>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/6def7ef4-e85e-4119-9959-00fc5c482489/image.png" alt="">
<br></p>
<h2 id="connection-oriented-service">Connection-oriented Service</h2>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/8457fd62-2214-48bb-885c-e9c2590b4da9/image.png" alt="">
<br></p>
<h2 id="connectionless--connection-oriented">Connectionless &amp; Connection-oriented</h2>
<ul>
<li>FSM (Finite State Machine)<ul>
<li><span style="background-color:#C0FFFF"> 가능한! </span> 모든 상태와 상태 간의 transition으로 구성한 모델링 기법</li>
</ul>
</li>
<li>Connectionless FSM</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/d99c1f26-42ec-4411-b878-f53114cf2ca9/image.png" alt=""></p>
<ul>
<li>Connection-oriented FSM</li>
</ul>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/770a91ce-0648-410a-830f-7ab08781f5eb/image.png" alt="">
<br></p>
<hr>
<br>

<p>글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[컴퓨터 통신] L3 : Mobile IP]]></title>
            <link>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L3-Mobile-IP</link>
            <guid>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L3-Mobile-IP</guid>
            <pubDate>Tue, 20 Aug 2024 05:19:10 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jje_hn/post/384cf228-97e7-4a93-8ceb-ba597b4e8896/image.png" alt="">
meow
<br></p>
<hr>
<br>

<h3 id="proviously">Proviously...</h3>
<ul>
<li><p>IP addresses are designed to work with <strong>stationary hosts</strong> because part of the address defines the network to which the host is attached.</p>
</li>
<li><p>However... 
<span style="color:#FFE6E6"> <em>이제.. 단말이 가만히 있지 않음..ㅠ</em> </span>
<img src="https://velog.velcdn.com/images/jje_hn/post/281f66fd-3e20-4295-b10d-7b62e5838dcf/image.png" alt=""></p>
</li>
<li><p>In end-to-end connection, <strong>if one end moves, the network session breaks</strong>. So does all the networking services layered on top of IP
<img src="https://velog.velcdn.com/images/jje_hn/post/bab57e61-e3c8-45cf-a278-00df6bde5fb9/image.png" alt=""></p>
</li>
<li><p>Solution?</p>
<ul>
<li>Option 1: <em>Completely redesign</em> each layer of the protocol suite. 🙄→🤮</li>
<li>Option 2: Provide additional services at the network layer in a backward compatible manner - <strong>Mobile internetworking!</strong></li>
</ul>
<br>

</li>
</ul>
<h2 id="mobile-ip">Mobile IP</h2>
<ul>
<li>Mobile IP has two addresses for a mobile host: <strong>home address</strong> and <strong>care-of-address</strong></li>
<li>The home address is permanent.</li>
<li>The care-of address changes as the mobile host moves from one network to another.
<img src="https://velog.velcdn.com/images/jje_hn/post/de7e60a6-9832-423f-9fbe-5b7fce04604d/image.png" alt=""></li>
</ul>
<br>

<h3 id="mobile-ip-introduces-agents-home-agent--foreign-agent">Mobile ip introduces Agents: Home agent &amp; foreign agent</h3>
<ul>
<li>To make the change of address transparent to the rest of the Internet.
<img src="https://velog.velcdn.com/images/jje_hn/post/849ad02e-336d-4103-80c2-36ec3c05e2c6/image.png" alt=""></li>
</ul>
<br>

<h3 id="three-phases">Three phases</h3>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/2944f7ca-5e8a-4ddd-ba80-94d1c6fc0ea4/image.png" alt=""></p>
<ul>
<li><p><strong>Agent discovery</strong></p>
<ul>
<li><p>ICMP</p>
<ul>
<li><p>Router advertisement
<img src="https://velog.velcdn.com/images/jje_hn/post/bb6b34ea-aff9-4924-8dcb-730753f8091d/image.png" alt=""></p>
</li>
<li><p>Router solicitation</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Registration</strong></p>
<ul>
<li>After a mobile host has moved to a foreign network and discovered the foreign agent -&gt; it <strong>must register!</strong></li>
<li>Request and Reply
<img src="https://velog.velcdn.com/images/jje_hn/post/2dafce04-f901-47c2-8885-e2510bef1d9a/image.png" alt=""></li>
</ul>
</li>
<li><p><strong>Data transfer</strong></p>
<ul>
<li>The movement of the mobile host is transparent to the rest of the Internet..
<img src="https://velog.velcdn.com/images/jje_hn/post/e16eafcf-6172-451f-ae7a-ace2bd589bde/image.png" alt=""></li>
</ul>
<ol>
<li>From Remote Host to Home Agent
The remote host sends a packet as though the mobile host is at its home network.
This is done using the proxy ARP.</li>
<li>From Home Agent to Foreign Agent
After receiving the packet, the home agent sends the packet to the foreign agent using the tunneling concept.</li>
<li>From Fereign Agent to Mobile Host</li>
<li>From Mobile Host to Remote Host
When a mobile host wants to send a packet to a remote host, it sends as it does normally.<ul>
<li>Mobile host</li>
<li>Source - home address </li>
<li>Destination - address of remote host
The packet comes from th foreign network, it has the home address of the mobile host.</li>
</ul>
</li>
</ol>
<p>-&gt; Remote host is unaware of any movement by the mobile host.</p>
</li>
</ul>
<p><span style="color:blueviolet"> <em>There are inefficiencies..</em> </span> 😥</p>
<br>

<h3 id="inefficiency-in-mobile-ip">Inefficiency in Mobile IP</h3>
<ul>
<li><strong>Double crossing</strong><ul>
<li>Double Crossing occurs when a remote host communicates with a mobile host that has moved th the same network(or site) as the remote host.
<img src="https://velog.velcdn.com/images/jje_hn/post/2586b825-c4b3-4515-8de2-b65678a5089b/image.png" alt=""></li>
<li>When the mobile host sends to the remote host → No inefficiency!</li>
<li>When <strong>the remote host sends</strong> a packet <strong>to the mobile host</strong> → the packet crosses the Internet <strong>twice</strong></li>
</ul>
</li>
</ul>
<ul>
<li><p><strong>Triangle routing</strong></p>
<ul>
<li>Triangle routing occurs when the remote host communicates with a mobile host that is not attached to the same network(or site) as the mobile host
<img src="https://velog.velcdn.com/images/jje_hn/post/35403556-a82b-4191-8230-84375f566dff/image.png" alt=""></li>
<li>When the mobile host sends to the remote host → No inefficiency!</li>
<li>When the remote host sends to the mobile host, the packet goes from the remote host to the home agent and then to the mobile host</li>
</ul>
</li>
<li><p>The reson of this inefficiency?</p>
<ul>
<li>Home Agent manages the location/address information.</li>
</ul>
</li>
</ul>
<br>
***
<br>

<p><a href="https://datatracker.ietf.org/doc/html/rfc3344">Mobile IPv4</a> RFC 문서입니다아.</p>
<p><span style="color:#BB8FCE"> 글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다. </span></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[컴퓨터 통신] L2: Data Link]]></title>
            <link>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L2-Data-Link</link>
            <guid>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-L2-Data-Link</guid>
            <pubDate>Tue, 13 Aug 2024 05:43:10 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jje_hn/post/78d489ca-cd27-4a3a-9d61-aadcc7d178a6/image.gif" alt="">
I&#39;m fine...</p>
<hr>
<h2 id="l2-br">L2 <br></h2>
<h3 id="data-link">Data link</h3>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/a9bf085e-3234-4e39-a68c-e5262b0be38d/image.png" alt=""></p>
<ul>
<li>To organize <strong>bit to frame</strong></li>
<li>To provide <strong>hop-to-hop delivery</strong> (physical address or MAC)
<img src="https://velog.velcdn.com/images/jje_hn/post/9d65eadc-7055-4f41-aa1d-c1ed01d93d16/image.png" alt=""><br>
### Addressing</li>
<li>L2 addresses are called <strong>physical address or MAC addresses</strong> and are used to fine the address of the next hop.</li>
<li>LAN address is 6bytes (48bits).</li>
<li>WAN address is usually longer. <br><h3 id="arp-address-resolution-protocal">ARP (Address Resolution Protocal)</h3>
<img src="https://velog.velcdn.com/images/jje_hn/post/2f51a855-06b7-4f50-99cf-895cdbe82712/image.png" alt=""></li>
<li>Mapping the <strong>logical address(IP address) to physical address(MAC address)</strong> dynamically.</li>
<li>Anytime a host or a router <strong>needs to find the physical address</strong> of another host or router on its network...
→ <strong>Send an ARP query packet!</strong></li>
<li>The packet includes the physical and IP addresses of the sender and the IP address of the receiver.
→Why?
The sender doesn&#39;t know the physical address of the receiver, <strong>this query is broadcast over the network</strong>. <br>

</li>
</ul>
<p><span style="color:blueviolet"> <em>Data can be corrupted during transmission... For reliable communication, <strong>errors must be prevent or detected and corrected!!</strong></em> </span>
<br></p>
<h3 id="error-control">Error control</h3>
<ul>
<li>In data communication, errors are inevitable..</li>
<li>Using better equipment and more reliable transmission media may reduce the frequency of occurence..
<em>→ But it can never eliminate errors.</em> </li>
<li><strong>Detect</strong> and correct errors.<br>
❗ <strong>L2 Error contorl &amp; L4 Error control</strong>
L2: Error Detect
L4: Error control and Error recovery</li>
</ul>
<br>

<h3 id="source-of-errors">Source of errors</h3>
<ul>
<li>White noise</li>
<li>Impulse noise</li>
<li>Crosstalk</li>
<li>Echo</li>
<li>Jitter</li>
<li>Attenuation</li>
<li>Distortion<br>

</li>
</ul>
<h3 id="detection-methods">Detection methods</h3>
<ul>
<li>VRC (Vertical Redundancy Check)</li>
<li>LRC (Longitudinal Redundancy Check)</li>
<li>CRC (Cyclic Redundancy Check)<br>

</li>
</ul>
<p><span style="color:yellowgreen"> <em>Error control에 관한 내용은 Transmission Layer에서 더 자세히 다룰 예정입니다.</em> </span>
<br></p>
<hr>
<br>

<p><span style="background-color:#DCFFE4"> <em>글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.</em> </span></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[컴퓨터 통신] Introduction]]></title>
            <link>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-Introduction</link>
            <guid>https://velog.io/@jje_hn/%EC%BB%B4%ED%93%A8%ED%84%B0-%ED%86%B5%EC%8B%A0-Introduction</guid>
            <pubDate>Fri, 09 Aug 2024 06:29:03 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/jje_hn/post/057e3a53-7f26-4518-968b-e815019f3972/image.jpg" alt=""></p>
<p>공부... 하고 있습니다. ㄱ-</p>
<blockquote>
<h2 id="1-introduction">1. Introduction</h2>
</blockquote>
<h3 id="네트워크">네트워크?<img src="https://velog.velcdn.com/images/jje_hn/post/cb92e3e1-ae5e-4c0a-a9a9-ed00242c9a30/image.png" alt=""></h3>
<p>· A set of devices(<strong>nodes</strong>) connected by communication <strong>links</strong>.
◸여기서 잠깐!!!◿ 링크랑 노드가 뭐임!
※ <strong>Node</strong>: 컴퓨터나 프린터 혹은 데이터를 송수신할 수 있는 디바이스 
※ <strong>Link</strong>: 공기, 케이블, 광섬유 등 데이터를 전송할 수 있는 매체</p>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/28dbe5b7-7a78-4dfa-988d-a6a9f9edadfa/image.png" alt="">
※ 거리에 따라 LAN(Local-Area-Network)과 WAN(Wide-Area-Network) 등으로 나눌 수 있습니다.</p>
<h3 id="인터넷">인터넷?<img src="https://velog.velcdn.com/images/jje_hn/post/4d9507c5-fab4-45f0-8155-72c0c69ee078/image.png" alt=""></h3>
<p>· The global system of <strong>interconnected networks</strong>.
· Linked by wireless and wired networking technologies.
· Using the <strong>Internet protocol stack(TCP/IP)</strong> to communicate between networks and devices.</p>
<p>→ <strong>인터넷 프로토콜 스택</strong>을 기반으로 전 세계적으로 연결되어 있는 컴퓨터 네트워크 통신망이다.</p>
<h3 id="프로토콜">프로토콜?</h3>
<p>· 원활한 통신을 위해 지키기로 약속한 <strong>규약</strong>. (How, When, What)</p>
<ul>
<li><p><strong>Syntax</strong></p>
<ul>
<li><strong>Structure</strong> or format of the data.</li>
<li>How to read the bit.</li>
</ul>
</li>
<li><p><strong>Semantics</strong></p>
<ul>
<li>The <strong>meaning</strong> of the bits.</li>
<li>Which fields define what action.</li>
</ul>
</li>
<li><p><strong>Timing</strong></p>
<ul>
<li><strong>When</strong> data should be sent and received.</li>
<li>What speed at which data should be sent and received.</li>
</ul>
</li>
</ul>
<p>→ Protocol Stack? Protocol + Stack! 😂</p>
<h3 id="protocol-stack">Protocol Stack?</h3>
<p>· Logical connection
<img src="https://velog.velcdn.com/images/jje_hn/post/ffd3ceec-212f-40d6-929c-e87e6a65f7a9/image.png" alt=""></p>
<p>· Modularity
<img src="https://velog.velcdn.com/images/jje_hn/post/13c2805e-3c4d-4680-b444-d1efd1ee8d79/image.png" alt=""></p>
<blockquote>
<h2 id="2-tcpip-protocol-stack">2. TCP/IP Protocol Stack</h2>
</blockquote>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/c3fa8781-0369-40be-be1e-93df5b8a221a/image.png" alt="">
· 5 layers</p>
<h3 id="💥-잠깐">💥 잠깐!!!</h3>
<p><em>보통 TCP/IP는 4계층으로 나누지만 L1인 Network Access 계층을 Physical과 Data Link 두 계층으로 나누는 개념도 존재합니다.😓</em></p>
<h3 id="--physical">- <strong>Physical</strong></h3>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/4eb1d646-a432-45f7-8724-90107ed57b3d/image.png" alt=""></p>
<ul>
<li>To transmit <strong>bits</strong> over a medium.</li>
<li>Wired or wireless.</li>
<li>Related technologies<ul>
<li>MCS (BPSK, QPSK, QAM... etc.)</li>
<li>TDM, FDM, OFDM</li>
<li>MIMO, Massive MIMO</li>
<li>Cell-free network</li>
</ul>
</li>
</ul>
<p>모두 통신 관련 기술이다.🙄 (나중에 시간이 나면 이것들도 정리해보겠음!)</p>
<h3 id="--data-link">- <strong>Data Link</strong></h3>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/9d56d48a-329e-4427-baac-09b7c5812ba8/image.png" alt=""></p>
<ul>
<li>To organize bits into <strong>frames</strong>.</li>
<li><strong>To provide hop-to-hop delivery</strong> (Physical address!)
<img src="https://velog.velcdn.com/images/jje_hn/post/07a18937-84f9-4ad4-abcf-8cfbbac4d710/image.png" alt=""></li>
<li>Related technologies<ul>
<li>CSMA(CA,CD), OFDMA, CDMA...</li>
<li>ARQ, FEC, HARQ</li>
<li>QoS provisioning</li>
</ul>
</li>
</ul>
<h3 id="--network">- <strong>Network</strong></h3>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/867151a4-01e3-4124-a537-f5558406cf35/image.png" alt=""></p>
<ul>
<li>To move <strong>packets</strong> from source to destination.
<img src="https://velog.velcdn.com/images/jje_hn/post/1c4a3182-0279-4ed0-8cb2-2166e5e9429a/image.png" alt=""></li>
<li>Internet protocol(IP😊)</li>
<li>Related technologies<ul>
<li>IPv4, IPv6</li>
<li>Mobile IP(MIP), PMIP, FMIP...</li>
<li>Routing algorithms</li>
<li>MPLS</li>
</ul>
</li>
</ul>
<h3 id="--transport">- <strong>Transport</strong></h3>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/ea9f37f0-b204-42fb-b7c7-e3732df0dd35/image.png" alt=""></p>
<ul>
<li>To provide process-to-process delivery.
<img src="https://velog.velcdn.com/images/jje_hn/post/c47710e1-9462-47b1-b870-3b86afe4b6b5/image.png" alt=""></li>
<li>Transmission control protocol (<strong>TCP</strong>)</li>
<li>User datagram protocol (<strong>UDP</strong>)</li>
<li>Related technologies<ul>
<li>Flow, congestion, error control</li>
<li>Session migration</li>
</ul>
</li>
</ul>
<h3 id="--application">- <strong>Application</strong></h3>
<p><img src="https://velog.velcdn.com/images/jje_hn/post/dd6277b3-f9d0-4cc8-9b12-7f7e60fd50fd/image.png" alt=""></p>
<ul>
<li>To provide services to user.</li>
<li>HTTP(S) for WWW</li>
<li>SMTP for e-mail</li>
<li>FTP for the file transfer</li>
<li>DNS for the name resolution
 ⁝
🙄 많다!</li>
<li>Related technologies<ul>
<li>Vehicular CDN (Content Delivery Network)</li>
<li>Server placement (Edge computing)</li>
<li>Service migration (VM/container migraion)</li>
</ul>
</li>
</ul>
<p></br></br></br></p>
<blockquote>
<p>_ 글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다._</p>
</blockquote>
]]></description>
        </item>
    </channel>
</rss>