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. JDBC处理CLOB 和 BLOB大对象

    在数据库中: clob用于存储大量的文本数据 可以使用字符流操作 clob用于存储大量的二进制数据 可以使用字节流操作 以mysql为例 先准备一张表: CREATE TABLE `t_user2` ...

  2. 13206抢票代码 py

    抢票代码 https://github.com/Bingshuli/12306Python 谷歌驱动 http://chromedriver.storage.googleapis.com/index. ...

  3. js拼接php拼接

    当我们用到ajax的时候,局部替换的时候,我们可以在前台拼接,后台拼接,这个取决于你是前端后端这样拼接判断比较好, 判断不拼接,判断的值进行拼接  然后在html  替换 $.each 前台循环    ...

  4. application/x-www-form-urlencoded ,multipart/form-data, text/plain

    APPLICATION/X-WWW-FORM-URLENCODED MULTIPART/FORM-DATA TEXT/PLAIN 后台返回的数据响应的格式类型 application/x-www-fo ...

  5. Windows 挂起进程

    A thread can suspend and resume the execution of another thread. While a thread is suspended, it is ...

  6. jdk 的 安装以及环境变量配置

    第一步:下载jdk 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 第二步:安装jdk 第三步:配置环 ...

  7. POJ1651:Multiplication Puzzle(区间dp)

    Multiplication Puzzle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9419 Accepted: 5850 ...

  8. CodeForces-1058B B. Vasya and Cornfield

    这题,我真的不知道题解是啥,自己看代码吧. #include<iostream> using namespace std; int main() { int n, d,m,i,x,y; c ...

  9. unittest 中的方法调用时报错 ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest

    1.调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTe ...

  10. 一个简单的wed服务器SHTTPD(9)————main函数文件,Makefile,头文件

    主函数: #include "lcw_shttpd.h" //初始化时服务器的默认配置 extern struct conf_opts conf_para= { "/us ...