TCP/IP协议是什么?

  • TCP:Transmission Control Protocol  传输控制协议
  • IP:Internet Protocol  因特网协议
  • 简单来说,TCP/IP协议就是一个有多种协议组成的协议族(Protocol Family)

TCP/IP协议的作用是什么?

  • 它定义了计算机通过网络互相通信及协议族各层次之间通信的规范。

TCP/IP参考模型:是一个抽象的分层模型;在这个模型中,有四个分层,包含了TCP/IP协议族中所有的网络协议。

  1. 主机-网络层:也称作网络接口层,是TCP/IP参考模型中的最低层。
    1. 功能:相当于一个中转站;
      1. 主要负责接收从【互联网络层】交来的【IP数据报】并将其通过【低层物理网络】发送出去。
      2. 从低层物理网络接受物理帧,并从中抽取出IP数据报交给互联网络层。
    2. 类型:
      1. 设备驱动程序
      2. 含自身数据链路协议的复杂子系统(TCP/IP参考模型中之所以没有定义数据链路层协议主要是因为TCP/IP最初的设计中已经使其可以使用各种典型的数据链路层协议
  2. 互联网层:也称为网际互连层或IP层。
    1. 功能:主要解决主机到主机的通信问题。
      1. 主要负责将源主机的报文分组发送到目的主机。(源主机和目的主机可以在同一个网络上,也可以在不同的网络上)
    2. 包含的协议:主要的协议有 网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
      1. IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。(尽力而为的服务)
      2. IP协议的协议数据单元是IP分组,由于在IP层提供数据报服务,IP分组也称为IP数据报
  3. 传输层:
    1. 功能:主要负责在互联网中源主机与目的主机的对等进程实体之间提供可靠的端到端的数据传输。
    2. 协议:定义了TCPUDP协议。
      1. TCP协议。是一种可靠的面向连接的协议。(Transimission Control Protocol)
        1. 它允许将一台主机的字节流无差错的传送到目的主机。
        2. TCP协议将应用层的字节流分成多个字节段,然后将一个一个字节段传送到IP层,并最终发送到目的主机。
        3. 可以将从IP层收到的字节段还原成原始的字节流,并传输到应用层。
      2. UDP协议。是一种不可靠的无连接的协议。(User Datagram Protocol)
        1. 主要用于不要求分组顺序到达的传输服务中。在基于UDP协议的传输服务中,分组的传输顺序检查与排序应由应用层完成。
        2. UDP协议主要面向 请求---应答式 的交易型应用。一次交易往往只有一来一回两次报文交换。
        3. UDP协议也常用于那些对可靠性要求不高,但要求网络的延迟较小的场合。(比如语音和视频数据的传送等)
  4. 应用层:包含了所有的高层协议。(目前TCP/IP参考模型中的应用层协议主要包括以下几种)
    1. 网络终端协议 Telnet;
    2. 域名系统 (Domain Name System, DNS);
    3. 简单邮件传输协议(Simple Mail Transfer Protocol, SMTP);
    4. 简单网络管理协议(Simple Network Management Protocol, SNMP);
    5. 文件传输协议(File Transfer Protocol, FTP);
    6. 超文本传输协议(Hyper Text Transfer Protocol, HTTP)。

注意:

  • 网际互联层和网络接口层实现了计算机网络中处于不同位置的主机之间的数据通信
  • 计算机网络最本质的活动是实现分布在不同地理位置的主机之间的进程通信。
  • 设置传输层的主要目的就是要实现上条所说的这种分布式进程之间的通信功能

未完待续。。。。。。

tcp/ip 学习(一)的更多相关文章

  1. tcp/ip学习笔记-TCP

    tcp/ip学习笔记-TCP 彭会锋 报文发送采用的是tcp_output函数,

  2. TCP/IP学习笔记(3)-IP、ARP、RARP协议

    这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据 ...

  3. TCP/IP学习笔记(3)----IP,ARP,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层(网络层协议),ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP ...

  4. TCP/IP学习

    1.TCP/IP网络包括两部分 ①传输协议 ②网络协议

  5. TCP/IP学习20180629-数据链路层-ARP、IP

    1.数据链路层:IP.ARP.RARPARP协议用来找到目标主机的Ethernet网卡Mac地址,IP协议用来承载数据ARP协议找到目标,IP协议传输数据2.IP协议ip协议是TCP/IP协议的核心, ...

  6. TCP/IP学习20180627-数据链路层-ethernet

    ifconfig :查看主機支持的網絡協議eth0:以太網接口lo:loopback接口 以太网(Ether-net)的定是指数字设备公司( Digital Equipment Corp.).英特尔公 ...

  7. TCP/IP学习20180624

    计算机要互相通信.要有标准. TCP/IP协议,很多协议在一起.所以也叫TCP/IP协议族.经常接触的也就十几种. TCP/IP协议族按层次分为四层: 应用层(最上一层,http,ftp,pop3,i ...

  8. TCP/IP学习笔记(2)-数据链路层

    数据链路层有三个目的: 为IP模块发送和接收IP数据报. 为ARP模块发送ARP请求和接收ARP应答. 为RARP发送RARP请求和接收RARP应答 ip大家都听说过.至于ARP和RARP,ARP叫做 ...

  9. tcp/ip学习笔记(1)-基本概念

    为什么会有tcp/ip 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样.计 ...

  10. TCP/IP学习笔记(5)------IP选路

    静态IP选路 一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. D ...

随机推荐

  1. Web前端开发必不可少的9个开源框架

    大多数人想到Web开发时,通常会想到HTML或JavaScript,往往忽略了CSS,根据Wikipedia的说法,CSS既是网页中最重要也是最常被遗忘的部分之一,尽管它是万维网的三大基础技术之一. ...

  2. Ansible playbook Vault 加密

    Ansible playbook Vault 加密详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务 ...

  3. <cstring>中常用的两个函数memset()和memcpy()

    <cstring>是c++对c中的<string.h>进行了重写,这两个头文件中的函数用法是一样的,所以在用的时候包含哪个头文件都行.下面介绍一下 <cstring> ...

  4. android位运算简单讲解

    一.前言 在查看源码中,经常会看到很多这样的符号“&”.“|”.“-”,咋一看挺高大上:仔细一看,有点懵:再看看,其实就是大学学过的再普通不过的与.或.非.今天小盆友就以简单的形式分享下,同时 ...

  5. redis5.0.3配置文件详解

    Redis最新版本5.0.3配置文件详解 单位 #当你需要为某个配置项指定内存大小的时候,必须要带上单位, #通常的格式就是 1k 5gb 4m 等: #1k => 1000 bytes #1k ...

  6. ElementUI表单验证攻略:解决表单项启用和禁用验证的切换,以及动态表单验证的综合性问题

    试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行 ...

  7. 使用Xamarin开发即时通信系统 -- 基础篇(大量图文讲解 step by step,附源码下载)...

    如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!而且,Xamarin已经被微 ...

  8. JS异步与同步

    这里展示一个操作场景:需要对数据进行异步处理,但这次操作可能会失败,所以需要定期对数据进行再次处理,直至处理成功. 实现:手动触发的处理以及定期触发的处理,是相同的,即可以抽取出来成一个公共函数,定期 ...

  9. #if 和#ifdef的区别

    转自:https://blog.csdn.net/zhangchiytu/article/details/7563329 先看个例子:#define TARGET_LITTLE_ENDINA 1#de ...

  10. 图论--最短路--dijkstra(含路径输出)模板

    #include<iostream> #include<stack> #include<queue> #include<cstring> #includ ...