热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TCP/IP第一期认识TCP/IP协议

TCPIP前言什么是TCPIP协议TCPIP如何划分为何要划分每层的作用链路层网络层传输层应用层总结前言对于一名程序员来说,掌握TCPIP是我们成为资深工程师的底层知


TCP/IP

  • 前言
  • 什么是TCP/IP协议
  • TCP/IP如何划分
  • 为何要划分
  • 每层的作用
    • 链路层
    • 网络层
    • 传输层
    • 应用层
  • 总结


前言


对于一名程序员来说,掌握TCP/IP是我们成为资深工程师的底层知识之一,只有掌握了这个,才能无往不利。所以可能需要很多时间在这上面。



什么是TCP/IP协议


官方解释:TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。


通俗的理解:可以把网络当作一个异世界,我们如果要在异世界里面进行活动,就需要遵循这个世界的规则与规范,只有按照它的规范,才能在这里面生活与工作。



TCP/IP如何划分


官方定义:TCP/IP传输协议是Internet最基本的协议,严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层。以上四层架构,我们也称为互联网协议群。每一层都负责不同的功能。因为TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
在这里插入图片描述



网络通信都自是下而上的。



为何要划分


我觉得归根到底就是 分而治之 吧。我们知道网络协议是非常复杂的,但是将它分层后,就可以将它拆成多个简单的处理。
独立性:* 开发人员可以只关注整个结构中的其中某一层;
灵活性:* 可以很容易用新的实现来替换原有层次的实现;灵活性
耦合性:* 可以降低层与层之间的依赖;
规范性:* 有利于标准化;
复用性:* 利于各层逻辑的复用。
维护性:* 降低复杂度,易于实现和维护。



每层的作用


链路层


定义:

  • 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(其它的任何传输媒介)的物理接口细节。

目的:

  • 为IP模块发送和接收IP数据报;
  • 为ARP模块发送ARP(地址解析协议)请求和接收ARP应答;
  • 为RARP发送RARP请求和接收RARP应答。

主要协议

  • 以太网链路层的协议
  • 两个串行接口链路层协议(SLIP和PPP)

文档详解



网络层


定义:

  • 网络层有时也被称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)

目的:

  • 实现两个端系统之间的数据透明传送。
  • 处理输入数据报
  • 处理路径、流控、拥塞等问题

功能:

  • 分组与分组交换
  • 路由
  • 网络连接复用
  • 差错检测与恢复
  • 服务选择
  • 网络管理
  • 流量控制
  • 拥塞控制
  • 网络互连
  • 连接的建立、保持和终止等

文档详解



传输层


定义:

  • 传输层协议为网络端点主机上的进程之间提供了可靠、有效的报文传送服务。

功能:

  • 分割与重组数据
  • 按端口号寻址
  • 连接管理
  • 差错控制和流量控制,纠错的功能

传输层要向上层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。



传输层是接下来要重点讲的。



应用层


定义:

  • 应用层主要负责处理特定的应用程序细节。用于通信的应用程序和用于消息传输的底层网络提供接口。

功能 :

  • 文件传输、访问和管理
  • 电子邮件
  • 虚拟终端
  • 简单网络管理
  • 查询服务和远程作业登陆

通用的应用程序

  • Telnet远程登陆
  • FTP文件传输协议
  • SMTP简单邮件传送协议
  • SNMP简单网络管理协议
  • HTTP协议

文档详解



总结


这一期中,主要讲了讲 TCP/IP的各个分层,及其对应层次的功能。下一期中,就开始具体讲讲传输层中 TCP协议与UDP协议。



推荐阅读
  • 三小时掌握计算机网络基础(通俗易懂)
    目录1.网络层次划分2.OSI七层网络模型3.IP地址4.子网掩码及网络划分5.ARPRARP协议6.路由选择协议7.TCPIP协议8.UDP协议 9.DNS协议 ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • 实例详解ISA防火墙策略元素
    我们在前面的工作中已经实现了ISA2006的代理服务器功能,接下来我们要实现ISA的访问控制功能。很多公司都有控制员工访问外网的需求,例如有的公司不允许 ... [详细]
  • OSI七层模型、TCP/IP五层模型
    OSI网络互连的七层框架:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;应用层OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,为用户直接提供各种网 ... [详细]
  • 适合小型网络环境的免费网络管理软件Intermapper
    InterMapper网络管理软件可支持监测5台以内的网络设备,特别适合安装使用在小型网络环境,可以实时了解网络运行状态和网络拓扑,支持多 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • 三、寻找恶意IP并用iptables禁止掉找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行, ... [详细]
  • HTTP协议相关的网络经典五层模型
    网络通信相关概念的讲解–网络协议分层(经典五层模型)在我们了解HTTP相关内容之前我们先来了解一下“网络协议分层”相关内容,因为这个是我们了解HTTP相关内容的前提条件;大家有一 ... [详细]
  • IP双栈环境下网络应用迁移
    IPv4向IPv6迁移有多种途径,在选择具体的迁移方式时,当前环境中运行的应用是否支持IPv6是重要的考量因素之一,同时在编写新的应用时,需要考虑新编写的应用不仅可以适应当前主流的IPv4环境, ... [详细]
  • 2016年8月29日当初想的太简单~~~哎写在前面从3月份开始各大互联网类、游戏类、软件类等公司开始招暑期实习,9月份正式招聘,面临众多的工作选择和技术方向,我们不免有些眼花缭乱啊 ... [详细]
  • 软测管理工具实践04
    一.今日任务——安装完成QC9.0进过几天的安装,终于把QC9.0成功的安装在了自己win7系统的电脑上。其中遇到的困难很多,首先是QC的版本问题&#x ... [详细]
author-avatar
在这里啊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有