The TCP/IP Protocol: An API-Perspective

The TCP/IP Protocol: An API-Perspective

To begin, what is an API? In short, an API (i.e. "application programming interface") is a means for implementing abstraction within the framework or software development.

Applying specificity, because the variability of technological innovation is only limited by one's one ingenuity, software developers have "socially-convened" (i.e. mutually agreed upon) relegating this technological innovation aforementioned to a computer networking standard (i.e. TCP/IP). The underlying purpose for this is TCP/IP is saying to both computer hardware engineers and computer software engineers that they cannot pragmatically implement the TCP/IP protocol across the span of computer networking devices the given "technology market" sponsors; each given "species" of computer networking devices within the computer-networking hierarchy is implied to have a "unique" implementation-technique for facilitating TCP/IP computer networking where this is to say that the implementation of TCP/IP across computer networking devices is inconsistent between devices species.

In as much, if the TCP/IP protocol is an interface which does not implement functionality, how does a given application developer embed TCP/IP behavior within their application? The initial step is by evaluating the requirements that which TCP/IP demands of the developer to implement if that given developer desires to utilize the TCP/IP protocol. Meaning, given the functionality requirements that TCP/IP lists for application developers, these developers cannot "cherry-pick" TCP/IP functionality; if a developer wants to use TCP/IP, they must implement all-functionality-specified within the protocol (i.e. it's "all-or-nothing"). From this, once the given application developer is aware of all-requirements as dictated by the TCP/IP protocol, it is up to the developer to implement that functionality within the technological specifications, both with regards to computer hardware and computer parameters underlying the given development environment.

Now, what are the requirements which the TCP/IP protocol specifies for application developers? Here is a list of BSD TCP/IP protocol functionality-requirements:

  • Allocate local resources for communication
  • Specify local and remote communication endpoints
  • Initiate a connection (client side)
  • Wait for an incoming connection (server side)
  • Send or receive data
  • Determine when data arrives
  • Generate urgent data
  • Handle incoming urgent data
  • Terminate a connection gracefully
  • Handle connection termination from the remote site
  • Abort communication
  • Handle error conditions or a connection abort
  • Release local resources when communication finished


要查看或添加评论,请登录

Alexander Eul的更多文章

社区洞察

其他会员也浏览了