<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>I Love Furry</title>
        <link>https://velog.io/</link>
        <description></description>
        <lastBuildDate>Wed, 18 Feb 2026 06:53:01 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>I Love Furry</title>
            <url>https://velog.velcdn.com/images/real_kkamack/profile/ebb0e11f-8657-4be5-883c-a5d4c0600a64/image.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. I Love Furry. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/real_kkamack" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[2025년 + 2026 1월 회고]]></title>
            <link>https://velog.io/@real_kkamack/2025%EB%85%84-2026-1%EC%9B%94-%ED%9A%8C%EA%B3%A0</link>
            <guid>https://velog.io/@real_kkamack/2025%EB%85%84-2026-1%EC%9B%94-%ED%9A%8C%EA%B3%A0</guid>
            <pubDate>Wed, 18 Feb 2026 06:53:01 GMT</pubDate>
            <description><![CDATA[<p>더 이상 미루면 안 될 것 같아 연휴 말에 급하게...</p>
<h2 id="2025년엔-무엇을-했는가">2025년엔 무엇을 했는가?</h2>
<h3 id="조뺑이치다">조뺑이치다</h3>
<p>재작년 말부터 투입된 금융권 모 기업의 차세대 프로젝트에서 존나게 굴렀다.
역시 다양한 직종의 많은 사람들과 커뮤니케이션하고 협업하는 과정이 제일 힘들다. 특히 나 같은 I한테는...
1년차 사원따리가 매일같이 PM, 25년차 수석 이런 사람들한테 의견 어필하고 일 부탁드리는 건 너므 힘든 일이다.</p>
<p>아무튼 작년 2월 즈음에 마무리되었다. 마무리 직전 설날 연휴에 큰 작업이 있어서 쉬지도 못하고 연속 야근했는데, 같이 일하는 사람들이 실시간으로 미쳐가는게 보여서 재밌었다. 나도 연속 근무 30시간 넘어갔을 즈음엔 이사님한테 시끄럽다고 짜증내고... 제정신이 아니었음.
<del>그리고 알다시피 이 프로젝트의 결말은... 만나서 물어보면 썰 풀어드립니다</del>
<img src="https://velog.velcdn.com/images/real_kkamack/post/1546f47b-f53b-4655-b34d-f9b98e129442/image.png" alt=""></p>
<h3 id="이직-성공">이직 성공</h3>
<p>연봉 동결에 개빡쳐서 당일날 이력서 난사한 덕에 기적적으로 직종 전환+이직에 성공했다.
원하던 직업에 원하던 도메인, 급여도 조금 올려받고 가서 기분이가 좋음.</p>
<p>서류는 포폴과 자소서를 누락했는데 왜 뽑아준 건지 모르겠다. 얼굴을 보고 직접 조지고 싶으셨나?
코테는 역시 어렵다... 일주일 남기고 벼락치기 했는데 턱걸이로 합격한듯. 영 재미가 안 붙어서 항상 이직할때만 벼락치기 하게 될 것 같다. 나중에 들어보니 여기 코테 난이도가 어려운 편 맞다는 얘기를 듣고 그나마 안심.
기술 면접 너무 무서웠다.
<img src="https://velog.velcdn.com/images/real_kkamack/post/04627d3f-0b16-49d1-bf0c-7ca273c7cbdc/image.png" alt=""></p>
<p>역시나 왜 직종 전환하는지에 대한 질문이 들어왔는데 대충 혀놀림으로 회피 성공했다. 기술 질문은 구글링 하면 나오는 대표적인 CS들... OS 지식, array와 list, IPC, 멀티스레드/멀티프로세스 뭐 그런 거. 면접 분위기 자체는 너무 딱딱하지 않은 분위기였어서 이전 직장에서 했던 일들 썰 잔뜩 풀고 도메인에 대한 사랑과 열정 위주로 어필했다.</p>
<p>대충 이런 과정을 통해 현 회사는 나라는 허위매물에 물리게 된 것이다...
<img src="https://velog.velcdn.com/images/real_kkamack/post/5e0e9b43-b14d-4ee2-8639-2275c82ce54f/image.png" alt=""></p>
<p>답은 존버다. 언젠간 성장해서 은혜를 갚아야...</p>
<h3 id="첫-자취">첫 자취</h3>
<p>수습 과제에서 허위매물인 사실이 까발려져서 떨어질까봐 넘므나 두려웠으나 다행히 무난하게 통과했다. (입사 동기는 떨어짐;;;;)</p>
<p>본격적으로 업무 시작 및 야근이 시작되었는데, 아무리 생각해도 출퇴근길이 너무 고되어서 엄마 손 잡고 주변 집을 보러 다녔다.
다행히 집값이 낮은 동네라서, 월세로도 살만한 집이 충분히 있었다. 걸어서 출퇴근 가능한 자취방 Get. 혼자 살기엔 딱 좋지만 친구는 못 부른다. 정확히는 친구는 부를 수 있는데 친구&#39;들&#39;은 못 부름. 와서 서있어야됨.
<img src="https://velog.velcdn.com/images/real_kkamack/post/8fe118d3-2aa2-4863-a3ce-de2995231a0f/image.png" alt=""></p>
<h3 id="첫-수술">첫 수술</h3>
<p>몸에 Issue가 생겨서 긴급 패치 드갔다... 크리티컬한 건 아닌데 뭔가 있었음.
다시는 이런 일 없었음ㅜ좋겠음</p>
<h3 id="그리고-2026-지금">그리고 2026 지금</h3>
<p>회사에서 1인분을 하기 위해 노력 중이다. 팀원들이 모두 좋은 사람들이라 업무 이외의 어려움은 없고, 많이 도움 받고 배우면서 성장해나가는 중.
특히 내가 원했던, 흥미있는 도메인이다보니 이슈를 분석이나 기능 개발하는 과정 하나하나가 다 재미있다.</p>
<p>별개로 야근이 많아서 놀랐다. 정확히는 하필 입사한 시기가 릴리즈 직전의 중요한 시기라서... 올해 1월까지는 매일같이 야근하며 굴렀다. 전 직업도 야근을 많이 하는 직종이다보니 많이 힘들다는 생각은 안 들었지만, 동료들은 깊은 현타를 느끼는 듯 했다.
사무직이 아니라 사이버 노가다라니까 이 직업ㅋㅋㅋ</p>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/daa8384a-caba-43d1-8647-ce97c19bce3e/image.png" alt=""></p>
<p>아무튼 올해 초에 성공적으로 릴리즈를 마쳤고, 지금은 업무 강도가 조금 줄어들었다.
들어오는 일을 빠르게 쳐내는 것에 집중했던 작년에 비해 소스코드를 천천히 읽으며 학습하고 더 체계적으로 개발할 시간이 있을 것 같아 기대가 된다.
코드 리뷰라던가 사내 세미나라던가, 회사에서 자기계발 할 환경은 잘 되어있어서 좋은 것 같다.</p>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/788993cc-0660-4c6a-aa8a-2a73d02dffd3/image.png" alt=""></p>
<p>새해 리프레쉬를 위해 강릉에서 해돋이를 보고 왔다. 올해는 본격적으로 커리어 성장과 더불어 휴식, 취미활동을 놓치지 않고 나 자신을 가꿀 수 있는 해가 되었으면 좋겠다.</p>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/2b72d214-f013-40a5-8dc2-2146c1432285/image.png" alt=""></p>
<p>올해 취미 도장깨기 리스트 중 하나.
개발에 재능 없는 것으로 밝혀지면 가게 하나 잡아서 술섞개 하려구.</p>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/f4a2345a-ccd0-4eee-b3cc-9695d16cbf6f/image.png" alt=""></p>
<p>영화도 많이 봐야지.
로코맨님 덕에 지브리 얘기 많이 들어서 조흠.</p>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/7e16a459-8096-4e24-a52f-184a3c224078/image.png" alt=""></p>
<p>2026 목표 만다라트도 정리해보았다. 작년에는 반타작도 못 했는데 이직했으니 된 거지 머 </p>
<p>기술적으로도 사회적으로도 변화가 너무 가파른 시기라 항상 맞는 길을 가고 있는건가 고민되기도 하고 후회할 때도 있는데, 이제 걱정 그만하기로 했다.
현실에 안주하지 않고 계속 기회를 잡으려 노력하면 걱정했던게 무색할만큼 생각보다 잘 풀리더라.
아무튼 내가 선택한 길 악으로 깡으로 버텨서 2026년도 홧팅하겠습니둥 여러분도 화이팅~~
<img src="https://velog.velcdn.com/images/real_kkamack/post/8e811125-8d3a-4906-863c-2ce4986fbfc3/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[네트워크] ICMP, ARP, TCP/UDP 프로토콜]]></title>
            <link>https://velog.io/@real_kkamack/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-ICMP-ARP-TCPUDP-%ED%94%84%EB%A1%9C%ED%86%A0</link>
            <guid>https://velog.io/@real_kkamack/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-ICMP-ARP-TCPUDP-%ED%94%84%EB%A1%9C%ED%86%A0</guid>
            <pubDate>Tue, 30 Jan 2024 02:34:34 GMT</pubDate>
            <description><![CDATA[<h2 id="icmp-internet-control-message-protocol">ICMP (Internet Control Message Protocol)</h2>
<p>“IP에서의 오류 보고 및 제어를 목적으로 하는 프로토콜”</p>
<p>네트워크 계층의 IP 프로토콜은 정상적으로 통신이 이루어졌는지를 확인하지 않기에신뢰할 수 있는 전달을 보장하지 않음.</p>
<p>그래서 IP는 별개로 ICMP를 이용하여 진단과 경고 메시지를 보내는 기능을 제공.</p>
<pre><code>-&gt; 진단 기능 : End to End 통신이 가능한지를 확인. ICMP 헤더에 echo request/reponse 메시지를 기술하여 통신.
-&gt; 도달 불능 메시지 전달 : 데이터가 목적지에 도달하지 못한 이유를 통지. 수신된 패킷을 폐기한 통신기기는 IP 패킷의 출발지로 해당 메시지를 전송.</code></pre><ul>
<li>명령어 ping, traceroute가 ICMP를 사용.</li>
</ul>
<h3 id="icmp-구조">ICMP 구조</h3>
<p>IP 데이터 부분에 ICMP 메시지를 포함하여 패킷을 전송.</p>
<p>Type : ICMP가 제공하는 서비스의 종류.
Code : Type을 세분화하여 나타낸 식별 정보.
Checksum : 자기 자신에 대한 무결성 검증. (오류 검출)
<img src="https://velog.velcdn.com/images/real_kkamack/post/b8dde69e-36d0-4340-be60-bc7deb2341de/image.png" alt=""></p>
<h3 id="icmp-메시지-종류">ICMP 메시지 종류</h3>
<p>ICMP 메시지 종류</p>
<p>Type 0, 8 : 특정 호스트에서 목적지    시스템까지 도달이 가능한지,    현재 운영 중인지 검사. (ping)    ping을 사용하면 Type 8인 Echo Requst    패킷을 목적지로 전송. 목적지 시스템은    Type 0인 Echo Reply 메시지를 반환.</p>
<p>Type 5 : 더 빠른 경로가 있다는 것을 알림.    더 나은 게이트웨이를 알려줌.</p>
<p>Type 11 : TTL이 0이 된 경우,    Fragment 중 하나가 손실되어서    다시 조합할 수 없는 경우.
<img src="https://velog.velcdn.com/images/real_kkamack/post/b73448f9-2494-44e3-a924-e8c86209ee81/image.png" alt=""></p>
<p>Type 3 : IP 패킷이 목적지에 도달할 수 없게    되었을 때, 경로 상의 마지막 라우터는    출발지 시스템에게 도달할 수 없었다는    Type 3 메시지를 전송.    해당 메시지는 세분화된 Code를 통해    목적지에 도달할 수 없는 이유를 제공.</p>
<p>Type 3인 Destination Unreachable 메시지의 Code.
<img src="https://velog.velcdn.com/images/real_kkamack/post/6d3010d2-496c-41a0-b923-f505d2f0e876/image.png" alt=""></p>
<h2 id="arp-address-resolution-protocol">ARP (Address Resolution Protocol)</h2>
<p>“물리적 주소인 MAC 주소와 논리적 주소인 IP 주소를 매칭하는 프로토콜”</p>
<p>목적지 호스트에 데이터를 전송하기 위해서는 목적지 호스트의 MAC 주소가 필요.따라서 목적지 IP를 알고있지만 MAC 주소를 모를 때 ARP를 이용하여 IP 주소를 MAC 주소를알아와야 함.</p>
<h3 id="작동-과정">작동 과정</h3>
<ol>
<li>출발지 시스템에서 ARP Cache Table에 목적지 MAC    주소가 존재하는지 확인.<ol start="2">
<li>ARP 테이블에 목적지 MAC 주소가 없다면 ARP Request    패킷을 브로드캐스트.    3. 패킷을 받은 목적지에서 자신의 MAC 주소를 ARP Reply    패킷으로 반환.</li>
<li>ARP Reply 패킷을 받은 출발지 시스템은 ARP Cache    테이블에 해당 정보를 기록.
<img src="https://velog.velcdn.com/images/real_kkamack/post/6d6966e2-a948-4269-89b3-f27fab473c72/image.png" alt=""></li>
</ol>
</li>
</ol>
<h3 id="arp-cache-table">ARP Cache Table</h3>
<p>IP 주소와 MAC 주소를 1:1로 매칭시킨 정보를 정리해둔 테이블.</p>
<p>arp –a 명령어를 이용하여 ARP Cache Table 확인 가능.
<img src="https://velog.velcdn.com/images/real_kkamack/post/ebde7e41-94da-4e3c-826a-22553f8156e7/image.png" alt=""></p>
<h3 id="arp-패킷-구조">ARP 패킷 구조</h3>
<p>Hardware Type : ARP가 수행되고 있는 네트워크 유형.   Ex) 이더넷 -&gt; 1
Protocol Type : 상위 프로토콜.   Ex) IP -&gt; 0x0800
Hardware Length : 물리적 주소의 길이를 바이트 단위로 정의.<br>Protocol Length : 논리적 주소의 길이를 바이트 단위로 정의.<br>Operation : 패킷의 유형.    Ex) ARP Request -&gt; 1         ARP Reply -&gt; 2
Sender Hardware Address :    송신지의 물리적 주소
Sender IP Address : 송신지의 IP 주소
Target Hardware Address :     목적지의 물리적 주소
Target IP Address : 목적지의 IP 주소
<img src="https://velog.velcdn.com/images/real_kkamack/post/9aec997e-c4ea-4e8a-8750-1f3ec817426a/image.png" alt=""></p>
<h2 id="tcpudp">TCP/UDP</h2>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/4e6fd6ca-bb70-4597-b9b4-3a8d7535506a/image.png" alt=""></p>
<h3 id="tcp-transmission-control-protocol">TCP (Transmission Control Protocol)</h3>
<p>“3-way handshake를 이용하여 연결 지향적이고 신뢰성 있는 통신을 제공”</p>
<p>대부분의 인터넷 응용 분야들은 신뢰성과 순차적인 전달을 필요로 함.
TCP 프로토콜은 클라이언트와 서버가 데이터를 교환하기 전에 TCP 연결을 확립함으로써종단 간에 연결 지향적이고 신뢰성 있는 전송 서비스를 제공.
    -&gt; 신뢰성 있는 연결을 위해 3-way handshake를 통해 연결.
    -&gt; 연결 종료 시, 4-way handshake.</p>
<ul>
<li>UDP보다 속도가 느림.</li>
</ul>
<p>흐름 제어 : 송신과 수신 측의 데이터 처리 속도의 차이를 해결. Stop and wait, Sliding window.
혼잡 제어 : 네트워크의 혼잡을 피하기 위해 송신 측에서 보내는 데이터의 전송 속도를 조절.            AIMD, Slow Start.
오류 제어 : 전송 도중에 오류가 발생했는지 검출. 체크섬 필드.
재전송 제어 : 중복 ACK가 들어오거나 타임아웃이 되었을 때 패킷 유실을 감지하고 재전송.</p>
<h4 id="tcp-헤더-구조">TCP 헤더 구조</h4>
<p>Source Port : 발신지 포트 번호                 - Destination Port : 목적지 포트 번호
Sequence Number : 분실/지연이 발생해도 데이터를 순서대로 재배열하기 위한 순서 번호.
Acknowledgement Number : 수신 받고자 하는 다음 바이트의 순서 번호.
Header Length (Offset) : 헤더의 길이를 32bit 단위로 나타냄.
Reserved : 차후 사용을 위해 남겨둔 예비 필드.<br>Flags : 6 종류의 제어 비트 플래그.
Window : 윈도우 버퍼 크기. 수신 가능한 최대 데이터 크기.
Checksum : 세그먼트에 오류가 발생했는지 여부를 검사.
Urgent Pointer : URG Flag가 설정된 경우, 긴급 데이터의 순서번호. 해당하는 데이터 먼저 처리.
<img src="https://velog.velcdn.com/images/real_kkamack/post/be51d537-06b9-4898-9d33-c68a86039541/image.png" alt=""></p>
<h4 id="tcp-헤더-flag">TCP 헤더 Flag</h4>
<p>URG : Urgent Pointer 필드의 값이 유효함을 나타냄.
ACK : Acknowledgement 필드의 값이 유효함을 나타냄. 클라이언트가 보낸 최초의 SYN 패킷 이후에 전송되는 모든 패킷은 ACK 플래그 설정.
PSH : Push 기능. 수신 측에 버퍼링된 데이터를 푸시해줄지 여부를 질의.
RST : 커넥션 Reset. 설정되어 있을 경우, 수신 측은 즉시 연결을 끊음.
SYN : Sequence Number 동기화. 양쪽이 보낸 최초의 세그먼트에 설정.
FIN : 남은 송신 데이터가 없음을 의미. 정상 종료를 요청.</p>
<pre><code>-&gt; 명시적 혼잡 통보를 위한 Flag</code></pre><p>ECE : ECN Echo. SYN이 1로 설정된 경우, 명시적 혼잡 통지가 가능함을 의미. (ECN 사용함)    SYN이 0으로 설정된 경우, 네트워크가 혼잡하니 세그먼트 윈도우 크기를 줄여달라는 요청.
CWR : 혼잡 윈도우 축소 플래그. ECE Flag로 설정된 세그먼트를 수신하였으며    혼잡 제어 매커니즘에 의해 응답하여 윈도우 크기를 줄였음을 의미.</p>
<h4 id="3-way-handshake">3-Way Handshake</h4>
<p>데이터를 전송하기 전에 신뢰성 있는 전송을 보장하기 위해 사전에 연결을 설정하는 과정.</p>
<ol>
<li>Client가 Server에게 접속을 요청하는    SYN 전송.</li>
<li>SYN을 받은 Server는 SYN+ACK를    Client에게 전송.</li>
<li>SYN+ACK를 받은 Client는    Server에게 ACK를 전송
<img src="https://velog.velcdn.com/images/real_kkamack/post/264fd217-5618-461c-8e6d-8a395c86bdc5/image.png" alt=""></li>
</ol>
<h4 id="4-way-handshake">4-Way Handshake</h4>
<p>연결을 종료하기 위한 과정.</p>
<ol>
<li>Client가 연결을 종료하겠다는 의미의    FIN을 Server에게 전송.</li>
<li>FIN을 받은 Server는 ACK을 Client에게    전송.</li>
<li>다시 Server는 Client에게 FIN 전송.</li>
<li>Client는 Server에게 ACK 전송.</li>
</ol>
<p>-&gt; 연결 과정과 달리 4단계인 이유?
     : Client가 데이터 전송을 마쳤더라도    Server는 아직 전송할 데이터가 남아있을    수 있으므로 일단 FIN에 대한 응답만.
    데이터를 모두 전송한 뒤에 FIN 전송.
<img src="https://velog.velcdn.com/images/real_kkamack/post/464c880b-fb38-4b67-9baf-bf6afa54b9ec/image.png" alt=""></p>
<h3 id="udp-user-datagram-protocol">UDP (User Datagram Protocol)</h3>
<p>“신뢰성이 떨어지지만 속도가 빠른 비연결형 통신을 제공”</p>
<p>3-way handshake 같은 절차로 연결을 성립시키지 않고 통신하는 비연결형 서비스.</p>
<p>할당되는 논리적인 경로가 없으며 각각의 패킷들이 다른 경로로 전송 가능.
데이터의 수신 여부를 확인하지 않음.
흐름 제어, 오류 제어 또는 손상된 세그먼트의 수신에 대한 재전송 제어를 하지 않음.
    -&gt; 데이터 손실/오류/순서 뒤바뀜의 위험이 있음. (신뢰성 없음)
    -&gt; TCP보다 속도가 빠름.</p>
<p>데이터의 속도와 연속성이 중요한 실시간 서비스(영상 스트리밍) 등에 사용.
DNS가 기본적으로 UDP를 사용.</p>
<h4 id="udp-헤더-구조">UDP 헤더 구조</h4>
<p>Source Port : 출발지 포트 번호.
Destination Port : 목적지 포트 번호.
Length : UDP 헤더와 데이터를 포함한 길이.
Checksum : 오류 검사.
<img src="https://velog.velcdn.com/images/real_kkamack/post/a4a6befc-09b9-4c61-8c19-453c713aa1c5/image.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[네트워크] OSI 7 계층(2)]]></title>
            <link>https://velog.io/@real_kkamack/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7-%EA%B3%84%EC%B8%B52</link>
            <guid>https://velog.io/@real_kkamack/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7-%EA%B3%84%EC%B8%B52</guid>
            <pubDate>Fri, 26 Jan 2024 06:46:41 GMT</pubDate>
            <description><![CDATA[<h1 id="osi-7-계층-모델">OSI 7 계층 모델</h1>
<h2 id="네트워크-계층">네트워크 계층</h2>
<p><strong>“데이터를 목적지까지 안전하고 빠르게 전달하는 기능인 라우팅을 담당”</strong></p>
<p>송신 호스트가 전송한 데이터가 어떤 경로를 통해 수신 호스트까지 전달되는지를 결정하는
        라우팅 문제를 처리. 
흐름 제어 : 송수신 호스트 사이의 논리적인 점대점 전송 속도를 다룸.
혼잡 제어 : 네트워크에 트래픽이 과도하게 증가하면 전송 속도가 떨어지는 혼잡 발생. 흐름 제어보다 더 넓은 관점에서 네트워크의 전송 능력 문제를 다룸.
세그먼테이션 : 데이터를 전송하기 위해 패킷을 분할하는 것.</p>
<p>주요 프로토콜 : IP, ICMP, IGMP, ARP/RARP
장비 : 라우터, 공유기
데이터 단위 : packet</p>
<h3 id="라우팅">라우팅</h3>
<p>“네트워크 구성 형태에 대한 정보를 저장해둔 라우팅 테이블을 이용하여목적지까지 최선의 패킷 전달 경로를 선택하여 전송”</p>
<p>라우팅 테이블 : 패킷 전송 과정에서 라우터들이 적절한 경로를 쉽게 찾도록 하기 위한 도구. 최종 목적지가 되는 호스트의 주소 값, 이웃 라우터인 다음 홉의 정보를 포함.</p>
<ul>
<li>정적 라우팅 : 패킷 전송이 이루어지기 전에 경로 정보를 라우터에 미리 저장하여 중개. 최적의 경로 정보를 라우터 별로 저장하여 관리. 네트워크의 구성에 변화가 생겨도 대처할 수    없음. 네트워크 내부의 혼잡도를 반영할 수 없음.</li>
</ul>
<p>동적 라우팅 : 라우터에서 사용하는 경로 정보를 네트워크 상황에 따라 적절하게 변경. 현재의 네트워크 상황을 고려하여 최적의 경로 정보 선택 가능. 경로 정보를 수집하고 관리하는 등의 복잡한 과정이 필요.</p>
<h4 id="간단한-라우팅-프로토콜">간단한 라우팅 프로토콜</h4>
<p>기본적으로 전송 경로의 중간에 위치하는 라우터의 개수인 홉의 수로 판단.</p>
<p>최단 경로 라우팅 : 패킷이 목적지에 도달할때까지 거치는 라우터의 수가 최소화될 수 있도록 경로를 선택. 가장 짧은 경로를 선택.</p>
<p>플러딩 : 라우터가 자신에게 입력된 패킷을 출력 가능한 모든 경로로 중개.</p>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/cbf3f7b8-8a09-4f85-a83d-9780c782d517/image.png" alt=""></p>
<h4 id="거리-벡터-라우팅-프로토콜">거리 벡터 라우팅 프로토콜</h4>
<p>라우터가 자신과 직접 연결된 이웃 라우터와 라우팅 정보를 교환.
구현을 위해 링크 벡터, 거리 벡터, 다음 홉 벡터라는 필수 정보를 관리.
    -&gt; 링크 벡터 : 이웃 네트워크에 대한 연결 정보
    -&gt; 거리 벡터 : 개별 네트워크까지의 거리 정보
    -&gt; 다음 홉 벡터 : 개별 네트워크로 가기 위한 다음 홉 정보</p>
<p>RIP 프로토콜 : 거리 벡터 방식을 사용하는 내부 라우팅 프로토콜. 소규모 네트워크 환경에 적합. 홉 카운트를 통해 최적의 경로를 찾아냄. -&gt; 속도나 회선의 상황을 반영하지 못함.</p>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/f4d4f4f6-0ccf-4c06-97b2-3f176dcbf022/image.png" alt=""></p>
<h4 id="링크-상태-라우팅-프로토콜">링크 상태 라우팅 프로토콜</h4>
<p>개별 라우터가 이웃 라우터까지의 거리 정보를 구한 후, 네트워크에 연결된 모든 라우터에 통보.
각 라우터가 상당한 양의 정보 전송을 요구 받고, 링크 상태가 많이 변경되면 시간이 많이 소요되는 거리 벡터 라우팅 프로토콜의 단점을 극복.
이웃 라우터와 연결된 상황에 변화가 있을 때에만 정보를 전달.</p>
<p>OSPF 프로토콜 : 특정 라우터에서 다른 라우터까지의 최단 거리를 찾는 프로토콜. 최저 시간 경로를 최적 라우팅 경로로 결정. 최단 경로를 선택하기 위해 Dijkstra의 SPF 알고리즘을 사용. RIP는 30초마다 라우팅 정보를 업데이트하는 반면, OSPF는 링크에 상태 변화가 있을 시에 즉각 Flooding을 해주어 재설정이 매우 빠름.</p>
<h4 id="외부-라우팅-프로토콜">외부 라우팅 프로토콜</h4>
<p>거리 벡터 라우팅 프로토콜의 RIP나 링크 상태 라우팅 프로토콜의 OSPF는 내부 라우팅 용도.
외부 라우팅 프로토콜은 외부의 다른 AS(하나의 자율 시스템) 간의 라우팅에 사용.</p>
<p>경로 벡터 라우팅 프로토콜 : 목적지를 찾아갈 때, 거리가 아닌 경로를 기반으로 하여 라우팅.목적지까지의 거리에 의존하지 않고 경로 자체의 분석에 근거해 라우팅.</p>
<p>BGP : 대규모 네트워크에서 사용되며, 경로 벡터 라우팅 프로토콜로 분류. 인터넷 상에서 다른 AS 간에 라우팅 정보를 교환하기 위한 외부 게이트웨이 프로토콜. 
<img src="https://velog.velcdn.com/images/real_kkamack/post/2fe35423-c6d5-46b6-bb01-03de89bd2506/image.png" alt=""></p>
<h3 id="혼잡-제어">혼잡 제어</h3>
<p>혼잡 : 네트워크의 트래픽이 과도하게 증가해 전송 속도가 떨어지는 것.
    데이터 전송 경로의 선택에 따라 네트워크 혼잡에 영향이 감.</p>
<p>트래픽 성형 : 혼잡은 트래픽이 특정 시간에 집중되는 현상에서 기인하는 경우가 많음. 송신 호스트가 전송하는 패킷의 발생 빈도가 네트워크에서 예측할 수 있는 일정한 전송률로 이루어지게 하는 기능.</p>
<p>ECN 패킷 : 라우터가 트래픽의 양을 모니터링하여 출력 선로의 사용 정도가 한계치를 초과하면 주의 표시를 함. 주의 표시한 방향의 경로는 혼잡이 발생할 가능성이 높으므로 특별 관리.</p>
<h3 id="주요-프로토콜">주요 프로토콜</h3>
<h4 id="ip-address">IP Address</h4>
<p>“네트워크 상에서 목적지 호스트를 식별하고 찾아가기 위한 논리적 주소”</p>
<p>IPv4 : 8비트 씩 4개로, 32비트 길이. 네트워크를 식별할 수 있는 부분과     호스트를 식별할 수 있는 부분.
<img src="https://velog.velcdn.com/images/real_kkamack/post/1e4b8070-9eba-4d07-9281-3fccf6f551cc/image.png" alt=""></p>
<p>IPv6 : IPv4의 주소 부족 문제 때문에 탄생. 16진수 표현. 128비트(16바이트) 길이. 잘 사용되고 있지는 않음.
<img src="https://velog.velcdn.com/images/real_kkamack/post/1c942fc2-f184-44f2-b475-be82cb9b4ba3/image.png" alt=""></p>
<h4 id="icmp-internet-control-message-protocol">ICMP (Internet Control Message Protocol)</h4>
<p>“IP의 비신뢰성을 보완. 오류 보고 및 제어”</p>
<p>IP는 단독으로 신뢰할 수 있는 전달을 보장하지 않음. 
    =&gt; 정상적으로 통신이 이루어졌는지 확인 X.</p>
<p>추가적으로 ICMP를 이용하여 IP 패킷 전송 중에 오류 발생시 오류 발생 원인을 알려주거나 네트워크 상태를 진단.</p>
<pre><code>+ 오류 보고 메시지 : IP 패킷을 전송하는 과정에서 발생하는 문제를 보고.
+ 질의 메시지 : 라우터 혹은 다른 호스트들의 정보를 획득.</code></pre><h4 id="igmp-internet-group-management-protocol">IGMP (Internet Group Management Protocol)</h4>
<p>“멀티캐스팅에 필요한 그룹 관리”</p>
<p>멀티캐스팅 : 특정 그룹에 속하는 모든 호스트에 메시지를 전송하는 방식. </p>
<p>이 때, 멀티캐스팅에 필요한 그룹을 생성, 제거, 가입, 탈퇴 등 관리하는 프로토콜이 IGMP.
호스트가 멀티캐스트 그룹 구성원을 인접한 라우터에게 알림.
<img src="https://velog.velcdn.com/images/real_kkamack/post/d0c8468e-0816-43af-85f1-2cd529b358b3/image.png" alt=""></p>
<h4 id="arp-address-resolution-protocol--rarp">ARP (Address Resolution Protocol) / RARP</h4>
<p>“IP주소를 MAC 주소로 변환”</p>
<p>ARP : 주소 변환 프로토콜. 다른 호스트에 데이터를 전송하기 위해서 수신 호스트의 MAC 주소가 필요. 이때, 논리적인 IP 주소로 MAC 주소를 얻을 수 있는 프로토콜.</p>
<ul>
<li>RARP : 반대로 MAC 주소를 이용해 IP 주소를 얻을 수 있는 프로토콜. 디스크가 없는 시스템은 LAN 카드에서 자신의 MAC 주소를 얻어올 수는 있지만 파일 시스템이 없어 IP 주소 보관이 불가. 자신의 IP 주소를 얻어오기 위해 사용.
<img src="https://velog.velcdn.com/images/real_kkamack/post/aa4d6482-bdc6-4b99-8ab5-c7f741c0e253/image.png" alt=""></li>
</ul>
<h3 id="장비">장비</h3>
<h4 id="라우터">라우터</h4>
<p>“서로 다른 네트워크를 연결해주는 장비”
“패킷에 따라 최적의 네트워크 경로를 지정해 데이터를 전송해주는 장비”</p>
<p>네트워크와 네트워크 간의 경로를 설정하고, 가장 빠른 길로 전송해주는 네트워크 장비.</p>
<p>라우팅 경로 지정 : 패킷의 목적지 IP주소를 확인하고 목적지까지 가장 효율적인 경로를 찾아냄.
브로드캐스트 컨트롤 : 목적지 주소를 모르면 모든 포트로 플러딩하는 스위치와 달리 목적지가 명확할 때에만 전송을 허락.
프로토콜 변환 : 들어온 패킷의 2계층까지의 헤더 정보를 벗겨내고 3계층 주소를 확인. 2계층 헤더 정보를 새로 입혀 내보냄. 이를 통해 서로 다른    프로토콜로 구성된 네트워크를 연결 가능.</p>
<ul>
<li>라우팅 테이블 : 경로에 대한 정보를 저장해두는 테이블.    <pre><code>        목적지 주소, 다음 홉 주소 등이 포함.</code></pre><img src="https://velog.velcdn.com/images/real_kkamack/post/ad6cf6a0-f936-47bc-a3b6-04e6c769e7a9/image.png" alt=""></li>
</ul>
<h4 id="공유기">공유기</h4>
<p>“사설 IP를 제공하는 NAT 기능에 특화 된 기기”</p>
<p>NAT : IPv4 체계에서 사용할 수 있는 주소의 개수가 한정되어 있기 때문에 모든 컴퓨터에 고유의 IP를 할당하기는 어려움. 따라서 한 네트워크에 속해있는 컴퓨터끼리만 알 수 있는 내부용 사설 IP 주소를 할당하고 라우터는 내부 IP 주소와 외부 IP 주소를 맵핑해서 주고받음.</p>
<ul>
<li>공유기 : NAT를 이용해 여러 기기들이 하나의 공인 IP를 여러 개의 사설 IP로 변환하여 사용할 수 있게 해주는 기능에 특화된 장비.
<img src="https://velog.velcdn.com/images/real_kkamack/post/1961fded-7388-446a-970e-21d64c764c31/image.png" alt=""></li>
</ul>
<h2 id="전송-계층">전송 계층</h2>
<p>“TCP(연결지향적)와 UDP(비신뢰성)를 이용하여 단대단 통신을 제공”</p>
<p>송수신 프로세스가 연결되어 단대단 통신. 신뢰성 있는 데이터 교환을 제공.
하위 계층은 호스트와 호스트 사이의 데이터 전송 과정에서 발생하는 문제들만 반영.전송 계층에서는 실제 통신의 당사자인 프로세스 사이의 통신 문제를 다룸.</p>
<p>연결 제어 : 패킷 전달 전에 목적지 시스템의 전송 계층과 연결 설정. (TCP)
흐름 제어 : 데이터링크 계층과 같은 흐름제어 제공. But 종단에서 종단까지 제공.
오류 제어 : 종단에서 종단까지의 오류 제어 제공. 데이터 순서 제어, 재전송.
혼잡 제어 : TCP에서는 종단 간의 혼잡을 제어. Ack 수신 여부로 네트워크 상황을 판단하여    송신 데이터의 크기를 조절해 혼잡 상황을 제어.</p>
<p>주요 프로토콜 : TCP, UDP, RTP
장비 : 로드밸런서                              -  데이터 단위 : TCP-segment, UDP-datagram</p>
<h3 id="혼잡-제어-1">혼잡 제어</h3>
<p>AIMD : 혼잡 발생 시 해결하는 방식.    조금씩 패킷을 보내는 양을 늘리다가    데이터가 loss 되었을 시, 보내는 packet의    양을 절반으로 줄임.
<img src="https://velog.velcdn.com/images/real_kkamack/post/479df2f6-23c7-42e0-8671-b63b4ec320f3/image.png" alt=""></p>
<p>Slow Start : Loss가 발생하기 전까지    지수적으로 패킷의 양을 늘림.    일정 수준으로 올라가면 AIMD 방식으로 변경.</p>
<p>Congestion Avoidance : 혼잡 상황이 발생하기    쉬운 구간에서는 1mss씩 증가.</p>
<p>Fast Retransmit : 세 번의 Duplicate ACK가    발생 시, Timeout을 기다리지 않고 전송 시작.
Fast Recovery : Fast Retransmit 후에 Slow Start가 아닌    Congestion Avoidance 상태에서 전송.
<img src="https://velog.velcdn.com/images/real_kkamack/post/5095d8d2-7e9f-4651-8171-be376acc925b/image.png" alt=""></p>
<h3 id="주요-프로토콜-1">주요 프로토콜</h3>
<h4 id="tcp-transmission-control-protocol">TCP (Transmission Control Protocol)</h4>
<p>“상호 간에 신뢰성 있고 연결지향적인 전송을 제공”</p>
<p>3-way handshake를 이용해 프로세스 간에 연결을 설정.
패킷 손실, 중복, 순서 바뀜의 문제가 없도록 보장. -&gt; 신뢰성 제공.
UDP보다 속도 느림.</p>
<h4 id="udp-user-datagram-protocol">UDP (User Datagram Protocol)</h4>
<p>“비연결적이고 신뢰성이 없지만, 빠른 데이터 전송을 제공”</p>
<p>수신 확인 및 순차 보장 기능이 없음. -&gt; 신뢰성 X. 패킷 손실, 도착 순서 변경 가능.
오버헤드가 작고 속도가 빠름.</p>
<h4 id="rtp-real-time-protocol">RTP (Real Time Protocol)</h4>
<p>“인터넷 환경에서 실시간 멀티미디어 데이터 전송 지원”</p>
<p>TCP와 UDP는 실시간 서비스가 요구하는 전송 특성을 충분히 지원하지 못함.
    -&gt; TCP : 패킷의 순서와 신뢰성이 강조되어 속도가 느리고 실시간 환경에 부적합.
    -&gt; UDP : 빠른 데이터 전송이 가능하지만 데이터그램의 순서를 보장 X.</p>
<p>UDP의 데이터그램에 순서 번호 기능을 추가. 타임스탬프 방식 사용.
종단 간, 비디오나 오디오의 실시간 전송 지원.</p>
<p>RTCP : RTP 제어 프로토콜.    세션 내의 모든 참여자들에게 주기적으로 제어 패킷을 전송해 되돌아오는 데이터를 통해    QoS(서비스 품질) 모니터링 수행. 수신자에 대한 정보 수집 및 전송률 계산.</p>
<h3 id="port-번호">Port 번호</h3>
<p>“하위 애플리케이션/프로세스의 구분을 위한 번호”</p>
<p>서비스나 프로세스를 식별하기 위한 논리적 단위. 동일한 IP를 가진 시스템 내에서 프로세스를 식별하기 위한 번호.
MAC이나 IP 주소가 목적지 호스트까지 찾아가는데 쓰이는 논리적 주소였다면, 해당 host 내에서 데이터가 실제로 도달해야하는 프로세스를 구분하는 데에 쓰임.</p>
<p>16비트로 이루어져 있으며, 65536개의 포트 번호가 존재.
포트 번호는 크게 3가지로 분류.
Well-known Port : 서버 측에 용도 별로 예약되어있는 포트 번호. 0<del>1023번.
<img src="https://velog.velcdn.com/images/real_kkamack/post/0a2ca28e-8146-4a40-83be-d6a257bad174/image.png" alt="">
Registered Port : 특정 용도로 사용되기 위해 등록된 포트 번호. 1024</del>49151번.
Dynamic Port : 자유롭게 사용이 가능한 동적 포트 번호. 49152~65535번.</p>
<h3 id="장비-1">장비</h3>
<h4 id="로드-밸런서">로드 밸런서</h4>
<p>서버를 여러 대 운영할 때, 트래픽이 늘어나면 장애가 발생해 원활한 서비스 제공이 어려울 수 있음. 이를 로드 밸런서를 이용하여 방지.</p>
<p>로드 밸런서는 서버에 가해지는 부하를 분산해주는 장치.한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리하여 각 서버가 원활히 운영될 수 있게 함.</p>
<p>네트워크 트래픽을 여러 서버에 적절히 분배.
Active한 서버에게만 요청 전송.
서비스 중단 없이 서버를 추가하거나 뺄 수 있음.(유연성 제공)</p>
<p>L4 로드 밸런서는 포트 번호를 바탕으로부하를 분산하는 것이 가능.
<img src="https://velog.velcdn.com/images/real_kkamack/post/1e81f647-8030-4f38-9709-e36d8094cc73/image.png" alt=""></p>
<h2 id="세션-계층">세션 계층</h2>
<p>“양끝단의 응용 프로세스들의 연결(통신)을 위해 세션을 설정, 유지, 종료”</p>
<p>논리적인 연결 서비스인 세션을 제공, 연결을 관리하고 지속.
통신하는 사용자들을 동기화.</p>
<p>토큰 : 두 프로세스의 대화를 관리하기 위한 특수 메시지인 토큰을 관리하여 상호배타적인 동작 제어. 
동기화 : 동기점을 추가하여 복구 지점을 설정하고 제어.
대화 기능 : 데이터 전송 과정에서 시간 경과에 따라 동기점을 부여하여 단계적인 신뢰성을 보장.</p>
<p>주요 프로토콜 : NetBIOS, SSL, TLS
데이터 단위 : Data / Massage</p>
<h3 id="세션">세션</h3>
<p>“네트워크 상에서의 양 끝단 간의 논리적 연결”</p>
<p>“사용자가 접속한 시점에서부터 종료하여 연결을 끝내는 시점까지들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 것”</p>
<p>다중 세션 연결 : 서버 프로세스가 다수의 클라이언트 프로세스에 동시에 여러 세션연결 설정 가능. 서비스 시간이 짧을 수록 유리. 서비스 이용 시간이 길어지면 세션 연결이길게 유지되므로 다른 클라이언트의 대기 시간이 증가.
<img src="https://velog.velcdn.com/images/real_kkamack/post/a6c28995-c063-43d5-8b77-b9b91c59a56f/image.png" alt=""></p>
<p>단일 세션 연결 : 서버 프로세스가 하나의 클라이언트 프로세스만 지원. 대표 서버를 두어서대표 서버가 클라이언트마다 하위 서버 프로세스를 생성하여 각각 연결되는 형태.클라이언트의 요구마다 프로세스를 생성해야 하므로 초기 환경 구축에 따른오버헤드가 증가.
<img src="https://velog.velcdn.com/images/real_kkamack/post/365ccaa9-4952-476b-8d9e-078edeab5f8f/image.png" alt=""></p>
<h3 id="토큰">토큰</h3>
<p>토큰을 이용해 응용 프로세스 간의 대화 관리.
토큰 보유는 토큰에 부여된 특정한 권리를 배타적으로 소유한다는 의미.</p>
<p>데이터 토큰 : 데이터를 전송할 수 있는 권리를 제공.
해제 토큰 : 통신 양단 간의 연결 해제 과정을 제어하기 위해 사용.
동기 토큰 : 세션 연결을 사용하는 과정에서 동기 처리가 필요한 시점에 사용.
    -&gt; 주동기 토큰 : 특정 대화 단위를 구분함.
    -&gt; 부동기 토큰 : 대화 단위 내에서 다시 작은 부분으로 나누어 처리.</p>
<h3 id="동기">동기</h3>
<p>“세션 연결을 사용해 데이터를 주고 받다가 오류 발생 시, 효과적으로 복구할 수 있게 해주는 기술”</p>
<p>동기점 부여 : 긴 전송 과정의 사이에 동기점을 부여.    동기점이 부여되었다는 의미는 해당 부분까지는 전송이 완료되었다는 의미.    전송 과정 중간에 오류가 발생해도 동기점 이후의 과정만을 복구하면 됨.
재동기 : 동기점을 이용한 일련의 복구 과정.</p>
<p>주동기점 : 설정된 곳은 완벽하게 처리되었다는 의미. 이전의 복구 과정은 필요하지 않음.
부동기점 : 복구에 필요한 백업 정보가 상대적으로 적음. 오류 복구가 완벽히 이루어지지 않을 수 있음. 부동기점에서 복구가 불가능하면 그 전의 부동기점으로 이동해 복구하는 과정을 반복.</p>
<p>대화 : 데이터 전송 과정. 시간 경과에 따라 순차적으로 동기점을 부여하여 신뢰성 보장 기능을    단계적으로 구현 가능.
<img src="https://velog.velcdn.com/images/real_kkamack/post/65851c15-75aa-404c-9eb8-fffb51578cfe/image.png" alt=""></p>
<h3 id="주요-프로토콜-2">주요 프로토콜</h3>
<h4 id="netbios-network-basic-inputoutput-system">NetBIOS (Network Basic Input/Output System)</h4>
<p>세션 계층에 관련된 서비스들을 제공하여(세션 내 연결 관리 및 오류 감지)컴퓨터의 응용 프로그램들이 근거리 통신망을 통해 통신할 수 있게 해주는 프로토콜.
소프트웨어 인터페이스 및 이름 명명법을 정의하고 있는 일종의 API.</p>
<p>이름 서비스 : 16바이트의 문자/숫자의 조합으로 컴퓨터를 식별.
데이터그램 분배 서비스 : 브로드캐스트 지원 및 통신 오류의 발견, 회복.
세션 서비스 : 두 컴퓨터가 통신할 수 있는 연결을 성립시킴. 데이터그램보다 더 큰 메시지 처리 가능.
<img src="https://velog.velcdn.com/images/real_kkamack/post/dc50bd36-b207-4503-be33-4797daed2c5d/image.png" alt=""></p>
<h4 id="ssl-secure-socket-layer--tls-transport-layer-security">SSL (Secure Socket Layer) / TLS (Transport Layer Security)</h4>
<p>인터넷망에서 안전한 통신을 위해 개발된 보안 프로토콜.
보안 서비스 (기밀성, 무결성, 인증) 제공.</p>
<p>SSL : 안전한 통신을 보장하기 위한 프로토콜.    클라이언트와 서버 간의 데이터를 암호화하거나 인증함으로써 중요 데이터 보호.    주요하게 사용되는 곳이 HTTPS.</p>
<p>TLS : SSL이 일반적으로 사용되며 표준화 할    필요성이 생김.    SSL 3.0 뒤에 TLS라는 이름으로 표준화.
<img src="https://velog.velcdn.com/images/real_kkamack/post/2121cb6e-7cab-436c-9d71-4ffb77d344bb/image.png" alt=""></p>
<h2 id="표현-계층">표현 계층</h2>
<p>“응용 프로세스 사이에 전송되는 데이터의 의미와 표현 방법 처리”
“번역기, 인코딩, 암호화, 압축”</p>
<p>표현 방식이 서로 다른 시스템 간의 통신을 위해 통일된 형식으로 변환하여 처리, 호환성 제공.</p>
<p>데이터 표현 : 서로 다른 표현 방식을 사용하는 컴퓨터끼리 통신하려면 변환 과정이 필요.
암호화 : 데이터 보안을 위한 암호화 및 복호화.
데이터 압축 : 전송을 보다 효율적으로 하기 위해 데이터를 압축/해제.</p>
<p>주요 프로토콜 : JPEG, MPEG, ASCII</p>
<h3 id="데이터-표현">데이터 표현</h3>
<p>데이터의 표현 방식에는 추상 문법과 전송 문법이 있음.
    -&gt; 추상 문법 : 각 컴퓨터에서 사용하는 데이터 표현 규칙.
    -&gt; 전송 문법 : 네트워크 전체에서 일관성을 지니는 데이터 표현 규칙.</p>
<p>각 컴퓨터는 각기 다른 추상 문법을 가지고 있기 때문에 데이터 전송 시에는 네트워크 전체에서    일관적으로 표현되는 전송 문법으로 변환하여 전송해야 함.</p>
<ul>
<li>ASN.1 : 다양한 환경에서 데이터를 표현, 전송하기 위한    규칙과 구조체를 기술하는 표준과 표기법.
<img src="https://velog.velcdn.com/images/real_kkamack/post/d36747ff-7e7d-4287-bee9-153022879ce7/image.png" alt=""></li>
</ul>
<h3 id="데이터-압축">데이터 압축</h3>
<p>전송의 효율성을 위해 데이터를 압축해서 크기를 줄인 후 전송해야 전송 속도 면에서 유리.
    -&gt; 비손실 압축 : 압축 과정에서 기존의 데이터의 내용이 분실되지 않고 동일함.
    -&gt; 손실 압축 : 압축 해제한 데이터 중 일부가 손실되어 기존의 데이터와 동일하지 않음.                 압축 효율이 높음.
<img src="https://velog.velcdn.com/images/real_kkamack/post/ed1e2661-37f2-4fa0-a808-e0ca65b37811/image.png" alt=""></p>
<h2 id="응용-계층">응용 계층</h2>
<p>“응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행.”</p>
<p>사용자에게 응용 환경을 제공, 애플리케이션 프로세스를 정의.
이메일, 파일 전송, 웹사이트 조회 등 애플리케이션에 대한 서비스를 제공.</p>
<p>서버 측 애플리케이션 : 웹 서버 프로그램, 메일 서버 프로그램 등. (서비스를 제공하는 쪽)
클라이언트 측 애플리케이션 : 웹 브라우저, 메일 프로그램 등. (서비스를 요청하는 쪽)</p>
<p>주요 프로토콜 : SMTP, POP, FTP, HTTP, DNS    </p>
<h3 id="주요-프로토콜-3">주요 프로토콜</h3>
<h4 id="smtp-simple-mail-transfer-protocol">SMTP (Simple Mail Transfer Protocol)</h4>
<p>“전자 메일 전송 프로토콜”</p>
<p>인터넷 상에서 메일을 송신하는 데에 사용되는 프로토콜.
SMTP는 메일 서버로부터 다른 곳으로 이메일을 보내는 프로토콜.반면, 자신의 이메일 서버로부터 수신자의 메일을 다운로드 받아 수신하는 프로토콜은POP, IMAP.
<img src="https://velog.velcdn.com/images/real_kkamack/post/55cff4be-8cfe-4ef1-94fa-83bfa1f592ed/image.png" alt=""></p>
<h4 id="pop-post-office-protocol">POP (Post Office Protocol)</h4>
<p>“수신된 메일을 PC나 폰에 다운로드 받기 위한 프로토콜”</p>
<p>SMTP는 전자 메일을 직접 송수신하려고 개발 된 프로토콜.
오늘 날의 메일 환경은 특정 서버에 메일 주소를 개설하고, 서버에 수신된 메일을 PC나 폰에 다운로드하는 형식. SMPT와는 별도로 서버와 PC/폰을 연동하기 위한 프로토콜.
메일 서버에서 제공하는 메일 보관 기능인 메일 박스에 저장되어있는 메일을POP를 이용하여 가져와 수신자에게 전송.
110번 포트 사용.
<img src="https://velog.velcdn.com/images/real_kkamack/post/9e16223f-e5a0-491b-bebd-04dfb8445341/image.png" alt=""></p>
<h4 id="ftp-file-transfer-protocol">FTP (File Transfer Protocol)</h4>
<p>“파일 전송 프로토콜”</p>
<p>FTP 서비스를 제공하는 서버와 클라이언트 간에 파일을 송수신하기 위한 프로토콜.
인터넷을 통한 파일 송수신만을 고려한 프로토콜이므로 동작 방식이 직관적이고 단순.</p>
<p>일반적으로 통신 포트는 제어 용도로는 21번을,데이터 전송 용도로는 20번을 사용.</p>
<p>FTP는 데이터 전송 시에 두 가지 모드를 지원.(능동 모드, 수동 모드)
<img src="https://velog.velcdn.com/images/real_kkamack/post/776b6da9-4b38-4c24-8a2c-2e6b620ff7de/image.png" alt=""></p>
<p>능동 모드 (Active Mode)</p>
<ol>
<li>클라이언트가 FTP 서버의 21번 포트로 접속 시도.    사용할 두 번째 포트를 서버에 알림.</li>
<li>서버는 ACK로 응답.</li>
<li>서버의 20번 포트는 클라이언트가 알려준    두 번째 포트로 접속을 시도.</li>
<li>클라이언트는 ACK로 응답.</li>
</ol>
<p>-&gt; 문제점 : TCP/IP의 일반적인 특징과 달리    서버가 클라이언트에 접속을 시도.    클라이언트의 내부/외부 환경에 따라    접속 불가 or 오류 발생 가능성.
<img src="https://velog.velcdn.com/images/real_kkamack/post/4b8e411a-46c2-49fd-b9fe-01d2e0f665e9/image.png" alt=""></p>
<p>수동 모드 (Passive Mode)</p>
<ol>
<li>클라이언트가 FTP 서버의 21번 포트로 접속 시도.</li>
<li>서버가 사용할 두 번째 포트를 알려줌.</li>
<li>클라이언트가 다른 포트를 열어    서버가 알려준 포트로 접속 시도.</li>
<li>서버는 ACK로 응답.</li>
</ol>
<p>-&gt; 서버는 두 번째 data 포트로 20번 포트를 사용하지    않고, 1024~65535 사이의 포트를 사용.
<img src="https://velog.velcdn.com/images/real_kkamack/post/f5374f07-2947-4ba2-ad59-e22d6ec8d062/image.png" alt=""></p>
<h4 id="http-hypertext-transfer-protocol">HTTP (HyperText Transfer Protocol)</h4>
<p>“웹 상에서 웹 서버와 웹 브라우저 상호 간의 데이터 전송을 위한 프로토콜”</p>
<p>클라이언트는 웹사이트를 보기 위해 서버의 80번 포트를 이용해 HTTP 통신을 함.
클라이언트에서는 HTTP request를 보내고, 서버에서는 HTTP response를 반환.
클라이언트가 데이터를 요청할때 ‘GET’이라는 요청 정보를 서버에 전송,서버는 응답으로 요청을 정상적으로 처리했다는 ‘OK’를 반환하고 html을 보여줌.
<img src="https://velog.velcdn.com/images/real_kkamack/post/32880c2c-e102-4645-9406-e4ae5cd47e48/image.png" alt=""></p>
<h4 id="dns-domain-name-system">DNS (Domain Name System)</h4>
<p>“문자 형식인 URL 주소 표현을 IP 주소로 변환하는 서비스”</p>
<p>웹 서버에 접속하기 위해서는 서버의 IP 주소가 필요.그러나 IP 주소는 사용자가 이해하거나 기억하기 어렵기 때문에 보통 문자열로 이루어진 URL을이용하여 웹 서버에 접속.
DNS는 이러한 URL 주소를 IP 주소로 변환해주는 서비스.</p>
<p>웹에서 URL을 입력하면 IP 주소를 알아내기 위해 사용자에게서 가까운 곳에 위치한 DNS 서버에    해당 URL의 IP 주소를 문의하게 됨.
    -&gt; DNS 서버 : IP 주소와 도메인 이름을 저장하고 있는 서버.</p>
<p><a href="http://www.naver.com%EC%9D%B4%EB%9D%BC%EB%8A%94">www.naver.com이라는</a> URL로 이동하고자 입력한다면</p>
<ol>
<li>로컬 DNS 서버에 해당 URL로 질의. 확인 후, 알고있으면 바로 IP 주소를 알려줌.</li>
<li>모른다면 루트 DNS 서버에게 문의. 루트 DNS 서버는 최상위 도메인이 .com이라는 것을 확인.    com을 관리하는 DNS 서버의 IP 주소를 반환.</li>
<li>로컬 DNS 서버는 com DNS 서버에게 URL을 문의. Com DNS 서버는 다음 도메인에 해당되는    naver.com을 관리하는 DNS 서버의 IP 주소를 반환.</li>
<li>로컬 DNS 서버는 naver.com DNS 서버에게 URL을 문의.    naver.com을 관리하는 DNS 서버는 <a href="http://www.naver.com%EC%97%90">www.naver.com에</a> 대한 IP 주소를 갖고 있으므로    로컬 DNS 서버에게 해당 IP를 반환.
<img src="https://velog.velcdn.com/images/real_kkamack/post/3a38a657-c0bc-42fd-bc38-ea1002ebf32f/image.png" alt=""></li>
</ol>
]]></description>
        </item>
        <item>
            <title><![CDATA[[네트워크] OSI 7 계층(1)]]></title>
            <link>https://velog.io/@real_kkamack/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7-%EA%B3%84%EC%B8%B51</link>
            <guid>https://velog.io/@real_kkamack/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-OSI-7-%EA%B3%84%EC%B8%B51</guid>
            <pubDate>Mon, 22 Jan 2024 08:12:17 GMT</pubDate>
            <description><![CDATA[<h1 id="osi-7-계층-모델">OSI 7 계층 모델</h1>
<p>“서로 다른 네트워크 간의 통신을 위해 ISO 국제표준화기구에서 제안한 표준 개방형 시스템 상호연결 모델”</p>
<p>프로토콜 : 네트워크에서 통신할 때의 규약</p>
<p>네트워크에서 통신이 일어나는 과정을
7단계로 나눠서 설명.
    -&gt; 통신이 일어나는 과정을 단계별로 파악하고 관리가 가능.
    -&gt; 계층 별 문제 해결이 용이.</p>
<p>But 개념적인 모델에 불과.
실제 인터넷에서의 통신은 TCP/IP 모델.</p>
<p><img src="https://velog.velcdn.com/images/real_kkamack/post/bd498778-fd98-4e6c-996c-2f3a25b824b8/image.png" alt=""></p>
<h2 id="물리-계층">물리 계층</h2>
<p>“통신기기와 전송 매체 사이의 실제 물리적 연결”
“데이터 전송을 위한 기계적, 전기적 수단의 정의”</p>
<p>0과 1로 이루어진 비트를 전기 신호로 변환하여 전송.
전송 속도와 전송 모드를 규정하고 물리적인 접속 형태를 규정.</p>
<p>장비 : UTP 케이블, 광케이블, 동축 케이블, 허브, 리피터
데이터 단위 : bit</p>
<h3 id="전송-매체">전송 매체</h3>
<ul>
<li><p>UTP 케이블 : 일반적으로 근거리 통신망에 사용. 절연체로 감싸여있지 않은, 꼬여있는 2개의 선 케이블. (Unshielded Twisted Pair Cable)
<img src="https://velog.velcdn.com/images/real_kkamack/post/13ef52b2-6133-4f80-8e4b-e8a3f9bce639/image.png" alt=""></p>
</li>
<li><p>동축 케이블 : 동심원의 중심에 있는 구리선을 매체로 하는 케이블. 전화 선, 회선망에 사용.
<img src="https://velog.velcdn.com/images/real_kkamack/post/5e28fc7e-fe2d-47b3-8c09-58d12c34ee62/image.png" alt=""></p>
</li>
<li><p>광케이블 : 광섬유를 통해 빛을 매체로 하는 케이블. 동축 케이블에 비해 간섭이 없고 손실이 적으며 빠른 속도로 전송이 가능.
<img src="https://velog.velcdn.com/images/real_kkamack/post/a2882191-579b-46fe-a1b9-796983c4a684/image.png" alt=""></p>
</li>
</ul>
<h3 id="장비">장비</h3>
<p>리피터 : 신호 증폭기. 케이블을 지나면서 손실된 신호를 증폭. 여러 번 증폭기를 지날수록 지연이 발생하고 대역폭이 낮아지므로 많을수록 손해.
<img src="https://velog.velcdn.com/images/real_kkamack/post/cbbc072b-f839-4023-afc9-cba19cd40b80/image.png" alt=""></p>
<p>허브 : 여러 대의 컴퓨터나 네트워크 장비를 연결. 단순 중계기 역할. 들어온 포트를 제외한 나머지 포트들로 신호를 뿌려줌.
<img src="https://velog.velcdn.com/images/real_kkamack/post/85611af0-15e3-4fa2-b91b-18dbc04947d4/image.png" alt=""></p>
<p>리피터 기능 : 수신된 물리적 신호를 증폭시킨 뒤에 전달.
멀티포트 기능 : 한 번에 여러 개의 시스템을 연결하여 단거리 통신망을 형성.
플러딩 : 연결된 모든 시스템에 동일한 신호를 전송. 과도한 트래픽 발생 가능, 충돌 발생 가능.
브로드캐스팅 : 들어온 신호를 모든 케이블로 전송.</p>
<h2 id="데이터링크-계층">데이터링크 계층</h2>
<p>“일대일로 연결된 호스트 사이의 신뢰성 있는 전송을 보장”
“오류 제어, 흐름 제어, MAC 주소로 통신”</p>
<p>신뢰성을 보장하기 위해 데이터의 흐름을 제어하고 오류를 검출.
    -&gt; 신뢰성 : 물리적 전송 시에 오류 발생이 가능한데, 이러한 오류를 방지/검출/복구하는 것.             데이터링크 계층에서의 신뢰성은 노드 간의 신뢰성.
오류 제어 : 오류가 발생하였는지 검증하고 소실된 프레임을 재전송.
흐름 제어 : 송수신측의 처리 속도 차이를 해결하기 위해 데이터의 송신 속도를 제어.
네트워크 자원의 효율적인 활용을 위해 MAC 계층과 LLC 계층으로 구분.</p>
<p>주요 프로토콜 : MAC, 이더넷
장비 : 스위치 허브, 브리지
데이터 단위 : frame</p>
<h3 id="macllc-부계층">MAC/LLC 부계층</h3>
<p>LAN 환경에서는 네트워크 자원의 효율적인 활용을 위해 데이터링크 계층의 기능을LLC 계층과 MAC 계층으로 나누어서 처리.</p>
<p>MAC 계층 (Media Access Control)</p>
<p>물리적 전송 선로의 특징과 매체 간의 연결 방식.(Ethernet, Token Ring 방식…)</p>
<p>LLC 계층 (Logical Link Control)</p>
<p>데이터링크 계층의 기본 기능.
오류 제어, 재전송, 흐름 제어…
<img src="https://velog.velcdn.com/images/real_kkamack/post/b7fd804b-1bb6-479a-bbf4-296b3183139f/image.png" alt=""></p>
<h3 id="회선-제어">회선 제어</h3>
<p>회선 제어 : 각각의 컴퓨터가 통신할 때, 신호 간의 충돌이 발생하지 않도록 제어하는 것.</p>
<p>ENQ/ACK 방식 : 한 쪽이 ENQ를 보내 연결 초기화 과정이 진행되면    다른 쪽에서는 응답으로 ACK 프레임을 보내 데이터를 받을 준비가    되었음을 알림. 데이터 전송 뒤에는 EOT 프레임을 보냄으로써 종료.
<img src="https://velog.velcdn.com/images/real_kkamack/post/ecc2fafb-0a8a-427b-863a-fe97e06a4824/image.png" alt=""></p>
<p>Polling 방식 : 일대다 통신 가능.
    -&gt; 선택 모드 : 주 스테이션이 데이터를 전송하고자 할 때 사용.        주 스테이션이 링크에 대한 제어 권한을 가짐.
    -&gt; poll 모드 : 주 스테이션이 다수의 종속 스테이션에 보낼 데이터가        있는지의 여부를 확인하여 전송.
<img src="https://velog.velcdn.com/images/real_kkamack/post/2e321444-de19-472d-a832-4d8b47ca3c8e/image.png" alt=""></p>
<h3 id="오류-제어">오류 제어</h3>
<p>“전송 도중에 오류나 손실이 발생하면 이를 탐지하고 수정”</p>
<p>오류 수정 : 전진 오류 수정과 후진 오류 수정
오류 검출 : 패리티 검사, CRC, 체크섬, 해밍코드</p>
<p>전진 오류 수정 (FEC) : 송신 측이 프레임에 부가적인 데이터를 추가해 전송하고, 수신 측이 이 부가적 데이터로 오류 검출 및 수정. 수신 측이 에러 검출 시 재전송 요청 없이 스스로 수정.</p>
<p>후진 오류 수정 (BEC) : 송신 측이 확장 비트를 추가해 전송하고, 수신 측이 이를 토대로 오류를 검출했을 시 재전송을 송신 측에 요구.</p>
<h3 id="오류-검출">오류 검출</h3>
<p>패리티 검사 : 1의 개수를 짝수 or 홀수 개로 맞춰서 보낼지를 송신 측과 수신 측이 미리 약속하고, 여분의 비트(패리티 비트)를 채워 보냄. 
홀수 개의 오류만 검출 가능. 짝수 개의 오류는 검출하지 못할 수 있음.
<img src="https://velog.velcdn.com/images/real_kkamack/post/91435afe-1126-4627-8580-58e6754f0869/image.png" alt=""></p>
<p>2차원 패리티 검사 : 수직과 수평으로 패리티 비트를 추가하고 모두 계산. 수평 혹은 수직에서 짝수 개의 오류가 일어나도 반대쪽 검사에서 검출 가능. 
But 수평과 수직으로 모두 짝수 개씩 오류가 발생한다면 검출이 불가능.
<img src="https://velog.velcdn.com/images/real_kkamack/post/47bc187b-4781-495e-9524-36ad629979d8/image.png" alt=""></p>
<p>순환 중복 검사(CRC) : 패리티 검사의 한계 보완. 데이터에 오류가 발생했는지 확인하는 코드를 덧붙여 보냄.
<img src="https://velog.velcdn.com/images/real_kkamack/post/5e557094-1168-40b0-8300-552e8d1a61cc/image.png" alt=""></p>
<p>체크섬 : 데이터의 길이와 관계없이 오류를 검출.
데이터링크 계층보다는 네트워크, 트랜스포트계층에서 더 자주 사용.
전송할 데이터의 전체 합을 붙여서 보냄.
<img src="https://velog.velcdn.com/images/real_kkamack/post/9d0efe16-87b3-4256-86ba-9ab07629b6dd/image.png" alt=""></p>
<p>해밍 코드 : 하나의 데이터 단위에 대해 많은 패리티 비트를 추가해 오류를 검출하고 수정까지 할 수 있음. 패리티를 계산하여 모든 패리티가 0이면 오류가 없는 것이고, 그렇지 않으면 오류가 발생한 것이며 위치를 나타냄. 결과가 0101이라면 5번째 비트에 오류가 발생했다는 의미.
<img src="https://velog.velcdn.com/images/real_kkamack/post/ed24b6cb-fefc-4b0d-b7ec-8a1d3fa092b4/image.png" alt=""></p>
<h3 id="오류-검출-후-재전송">오류 검출 후, 재전송</h3>
<p>오류를 검출한 후, 재전송이 수행되는 과정을 Automatic Repeat Request(ARQ).</p>
<p>Stop &amp; Wait ARQ : 송신 측에서 한 번에 한 개의 프레임을 송신. 수신 측에서는 수신된 프레임의 오류 여부를 ACK 또는 NAK로 응답. 송신 측에서는 ACK를 받으면 다음 프레임을 전송. NAK을 받거나 일정 시간 동안 응답이 없으면 해당 프레임을 재전송.</p>
<p>Go Back N ARQ : 송신 측이 프레임을 여러 개 한꺼번에 전송. 중간의 프레임에 문제가 있으면 수신 측은 NAK와 오류 프레임의 순서번호를 송신 측에 전송. 송신 측은 해당 오류 프레임부터 그 이후의 모든 프레임들을 다시 전송.</p>
<p>Selective Repeat ARQ : 오류 검출 이후의 프레임들을 전부 다시 보내야하는 Go Back N의 문제점 보완. 문제가 생긴 프레임에 대해서만 NAK 응답을 보내서 손상된 프레임만 선별해서 재전송.</p>
<h3 id="흐름-제어">흐름 제어</h3>
<p>“송수신측의 처리 속도 차이를 해결하기 위해 데이터의 송신 속도를 제어”</p>
<p>Stop &amp; Wait : 전송 측이 프레임을 전송한 후, 각 데이터 프레임에 대한 ACK을 기다렸다가 다음 프레임을 전송. 한 번에 하나만 전송하고 응답이 올때까지 대기하므로 비효율적.</p>
<p>Sliding Window : 전송한 프레임에 대한 ACK 프레임을 수신하지 않아도 여러 개의 프레임을 연속적으로 전송하도록 허용. Window에 포함된 만큼의 프레임은 연속적으로 보내고,정상 전송이 확인되면 다음 window에 해당하는 만큼의 프레임을 보냄.
    -&gt; window : 전송 및 수신 측 양쪽에서 만들어진 버퍼의 크기. 긍정 응답 프레임을 받지 않고도 연속으로 전송 가능한 프레임의 개수.
<img src="https://velog.velcdn.com/images/real_kkamack/post/440524a7-593a-45b5-8156-468a9431bd96/image.png" alt=""></p>
<h3 id="주요-프로토콜">주요 프로토콜</h3>
<h4 id="mac-media-access-control-address">MAC (Media Access Control) Address</h4>
<p>“컴퓨터 간 데이터를 전송하기 위한 고유의 물리적(하드웨어) 주소”</p>
<p>데이터링크 계층에서 통신을 위해 네트워크 인터페이스 카드에 할당된 고유의 번호. 컴퓨터 네트워크에서 각각의 기기를 구분하기 위해 사용하는 물리적인 주소.</p>
<p>48비트 길이의 16진수로 구성.
앞의 24비트는 랜 카드를 만든 제조사의 번호, 뒤의 24비트는 제조사가 랜 카드에 붙인 일련번호.
<img src="https://velog.velcdn.com/images/real_kkamack/post/32e614e0-1658-40b7-b9b2-5ca72dac7769/image.png" alt=""></p>
<h4 id="이더넷-csmacd">이더넷 (CSMA/CD)</h4>
<p>“LAN에서 데이터를 주고 받기 위한 규칙”</p>
<p>이더넷은 CSMA/CD를 이용하여 여러 컴퓨터가 동시에 전송해도 충돌이 일어나지 않는 구조.
    -&gt; 충돌 : 데이터를 한 번에 하나만 전송할 수 있는 채널에 전송 장치 두 개가 같은 시점에 데이터를 전송하면 충돌 발생 가능.</p>
<p>CSMA/CD : “반송파를 이용한 충돌 감지 및 재전송”
    1. 전송 전에 먼저 현재의 네트워크에 흐르고 있는 데이터가 있는지 감지.
    2. 이미 전송 중이라면 사용할 수 있을 때까지 기다리고, 사용할 수 있다면 데이터 전송을 시작. 
    3. 동시에 전송되어 충돌이 발생하면 최소 패킷 시간 동안 전송을 계속하여 다른 컴퓨터가 충돌을 감지할 수 있게 함.
    4. 일정 시간 기다린 뒤에 다시 신호를 감지하고 네트워크를 사용할 수 있다면 다시 전송 시작.</p>
<h4 id="토큰-버스">토큰 버스</h4>
<p>“버스 형태 + 토큰 제어 방식”</p>
<p>물리적인 버스 구조로 연결되지만 논리적인 프레임 전달은 링 구조.
토큰이 전달되는 순서는 물리적인 순서가 아니라 각 호스트의 고유 번호와 관련. (링 형태)
토큰이라는 제어 프레임을 사용. 프레임 전송을 위해 토큰을 확보해야 함.
<img src="https://velog.velcdn.com/images/real_kkamack/post/38ac11c7-8a80-4f4c-970e-ad9f06449ccb/image.png" alt=""></p>
<h4 id="토큰-링">토큰 링</h4>
<p>“순환되는 링 형태의 LAN 구성”</p>
<p>물리적으로 링 구조를 지원.
토큰이라는 제어 프레임이 한 쪽 방향으로 순환. 토큰을 획득한 호스트만 데이터 전송 가능.
대기 모드에서는 입력단으로 들어온 비트를 출력단으로 즉시 내보냄.
전송 모드는 호스트가 토큰을 획득해 프레임을 전송할 수 있는 상태.프레임이 올바르게 전송되었음을 확인한 뒤, 토큰 프레임을 링에 반환.
<img src="https://velog.velcdn.com/images/real_kkamack/post/89313941-99ac-4e18-a3fe-ca2283eeca58/image.png" alt=""></p>
<h3 id="장비-1">장비</h3>
<h4 id="스위치">스위치</h4>
<p>MAC 주소를 이용해 포트를 지정하여 데이터를 전송해주는 장비.허브와 달리 충돌이 일어나지 않는 전이중 통신 방식.</p>
<p>Learning : A에게서 패킷을 수신하면 MAC 주소를 읽어 MAC address table에 저장. 나중에 다른 PC가 A에게 통신을 원할 때 MAC address table에 저장된 MAC 주소를 참고.
Flooding : 목적지 정보가 MAC address table에 없으면 들어온 포트를 제외한 나머지 모든 포트로 전송. (브로드캐스팅)
Forwarding : 목적지 주소가 MAC address table에 있으면 해당 주소의 포트로만 프레임을 전송. (유니캐스팅)
Filtering : 출발지와 목적지가 같은 네트워크 영역에 있는 경우에는 다른 네트워크로 나가지 않게 막음. 스위치에서 Collision Domain을 나누는 기능.
Aging : 일정 시간(기본 300초)이 지나면 MAC 주소를 삭제하여 MAC address table을 효율적으로 관리.
<img src="https://velog.velcdn.com/images/real_kkamack/post/b8e03ef3-67f8-4596-b53f-ded0ef9cd65e/image.png" alt=""></p>
<h4 id="브리지">브리지</h4>
<p>네트워크 내에서 서로 다른 LAN을 연결. 스위치와 유사하지만 소프트웨어 기반.
수신한 프레임의 MAC 계층 헤더를 다른 단의 MAC 계층 헤더로 변형해 전송할 수 있어 종류가 다른 LAN을 연결할 수 있음. (중개 기능)
<img src="https://velog.velcdn.com/images/real_kkamack/post/75baaa70-832b-4aee-946e-57788faa9bb2/image.png" alt=""></p>
]]></description>
        </item>
    </channel>
</rss>